spring boot 打包jar jar没有主目录清单问题的完美解决方法
1、在POM.xml文件下添加如下代码;注意:version、configuration、executions三个标签是我后来查找添加的,网上解决方案要么没有这三个要么不一样,我试了都不行,而且我在我电脑试了这三个标签必须有;
2、如果没有version标签会在生成时会报错。
3、如果没有configuration、executions两个标签生成的jar会报jar没有主目录清单错误;
哀 折腾一天,没办法谁让自己是小白那。还有一个主意的:packaging标签页必须有;
<packaging>jar</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.0.3.RELEASE</version> <configuration> <mainClass>${start-class}</mainClass> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
4、刚开始我是看得其他教程用eclipse可可视化页面执行生成jar,不知道为什么我用他们的方式就是不行,按他们的方式运行后就报已终止jdk目录下的javaw.exe,后来也没有找到解决方案,我就用命令行了。用命令执行没有问题,后来我也不管了,就用命令吧 ,也挺方便;下面我写一下使用命令执行的步骤;我是在win10下执行的;
1、运行cmd打开黑脸;
2、将目录切换到自己的工程跟目录下,然后运行 mvn package 命令;出现如下就成功了;
注意有前面都是info,有黄色的就是错了,忘记是什么错误信息了;
这步出错我的是因为pom.xml配置文件问题;后来改成上面我自己的配置就好了,不过那个配置我找好久,是在官网找的,这是网址:https://docs.spring.io/spring-boot/docs/current/maven-plugin/usage.html 其实我看不懂,只是看配置文件;
3、执行完成后会在target目录下生成jar文件:下图是我的
4、生成成功后就是运行了,运行方式是进入target目录然后运行 java -jar 文件名 命令,然后就运行了;来个图吧;
这里运行会如果会出现一个 jar没有主目录清单 的错误,值因为pom.xml配置文件问题;我按别人的方式是不行,后来我改了配置文件就好了,配置文件最终内容就是上面的;下面我在给副个图;
总结
以上所述是小编给大家介绍的spring boot 打包jar jar没有主目录清单问题的完美解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
详解spring boot引入外部jar包的坑
前言:由于项目需求,短信验证码的接口需要换成阿里大于的,但是尴尬的发现阿里大于的jar包没有maven版本的,于是便开始了一上午的操蛋引包之路.按照套路来说,自然应该是百度一波,但是百度了好久,找了好多方案之后发现,没一个有用的,而且文章的抄袭.拷贝十分严重,试了N种方案,都是错的,都没有将外部jar包打包到BOOK-INF文件夹下.最终,在第N次尝试之后,终于在打的jar包里将外部的jar包导入进来.特此记录下,防止再犯!!! 首先在新建libs文件夹(根目录或者resource目录下都可以)
-
spring boot打jar包发布的方法
Spring的项目在spring boot之前一般我都是打成war包发布到tomcat的,但最近使用了spring boot 要打成jar包,一开始不理解为啥有要打成jar,war包不是很好吗? 另外一点是由于现在还不会打jar包,所以感觉没必要.经过一段时间的适应,感觉打jar包是很有必要的,而且发布也很方便了省去了安装tomcat等中间件. 说下如何打jar包把,其实很简单,主要是配置好pom.xml文件就可以了,关键点如下: 一定要写jar. 在<bulid>中添加如下配置: <b
-
maven+springboot打成jar包的方法
maven的命令: 1.mvn clean package -DskipTests:在项目目录下运行此命令,在target目录下生成jar包或war包. 2.mvn clean:清理项目生产的临时文件,一般是模块下的target目录 3.mvn compile -DskipTests:模块安装命令 将打包的的jar/war文件复制到你的本地仓库中,供其他模块使用 -Dmaven.test.skip=true 跳过测试(同时会跳过test compile). 4.mvn test:测试命令,或执行
-
spring boot加载第三方jar包的配置文件的方法
前言 今天收到一封邮件,大概内容如下:spring boot鼓励去配置化,那么怎么将第三方jar包中的xml去配置化了? 其实,这个问题,在前面的文章中也有提到,http://www.jb51.net/article/125700.htm 下面,我们就以Quartz定时任务为例,单独对这个问题来进行说明,如何实现去配置化. 如果不使用spring boot,我们配置一个简单的定时任务时,需要引入以下配置文件: <!-- 配置需要定时执行的任务类以及方法 --> <bean id=&quo
-
简单了解springboot的jar包部署步骤
由于springboot常用war包部署,改为cloud开发模式多端口情况下,部署反而不习惯 毕竟,war包要不要项目名访问都必须放在tomcat的root目录下 而此目录限制只能放置一个项目,并且登录端口限制为tomcat的接口了 因此,jar包部署就成了必然的方式了 1.添加pom设置 静态文件需要访问,所以静态文件webapp下的文件需要重新指定位置,具体配置如下 <resource> <directory>src/main/webapp</directory>
-
详解spring boot 以jar的方式启动常用shell脚本
用spring boot框架做的项目,将第三方包全部打在jar里面,通过shell脚本启动和停止服务,常用的shell脚本模板如下: #!/bin/bash JAVA_OPTIONS_INITIAL=-Xms128M JAVA_OPTIONS_MAX=-Xmx512M _JAR_KEYWORDS=monitor-alarm-task-1.0-SNAPSHOT.jar APP_NAME=monitor-alarm-task APPLICATION_FILE=/opt/scpip_monitor/a
-
SpringBoot上传文件到本服务器 目录与jar包同级问题
前言 看标题好像很简单的样子,但是针对使用jar包发布SpringBoot项目就不一样了. 当你使用tomcat发布项目的时候,上传文件存放会变得非常简单,因为你可以随意操作项目路径下的资源.但是当你使用SpringBoot的jar包发布项目的时候,你会发现,你不能像以前一样操作文件了.当你使用File file = new File()的时候根本不知道这个路径怎么办.而且总不能很小的项目也给它构建一个文件服务器吧.所以这次就来解决这样的问题. 不想知道细节的,可以直接跳转到最后封装的部分,里面
-
Linux编辑启动、停止与重启springboot jar包脚本实例
前言 springboot的配置文件中,配置文件的名字都有各自的意义跟用途 dev 开发环境 prod 生产环境(默认) test 测试环境 加载指定配置文件 --spring.profiles.active=prod springboot加载jar包的方式有 // 直接在控制台进行启动,缺点就是控制台关闭项目也就关闭了. java -jar bootdo.jar // 这种方式可以运行在后台,但是如果推出了shell的话,那也会挂 java -jar /bootdo-2.0.0.jar > b
-
spring boot 打包jar jar没有主目录清单问题的完美解决方法
1.在POM.xml文件下添加如下代码:注意:version.configuration.executions三个标签是我后来查找添加的,网上解决方案要么没有这三个要么不一样,我试了都不行,而且我在我电脑试了这三个标签必须有: 2.如果没有version标签会在生成时会报错. 3.如果没有configuration.executions两个标签生成的jar会报jar没有主目录清单错误: 哀 折腾一天,没办法谁让自己是小白那.还有一个主意的:packaging标签页必须有: <packaging
-
Spring Boot打包war jar 部署tomcat
概述 1.Spring Boot聚合工程打包war部署Tomcat 2.Spring Boot打包Jar,通过Java -jar直接运行. 3.提供完整pom.xml测试项目 至github 解决问题 1.xxxx中没有主清单属性 2.解决没有web.xml而报错 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project provider: E
-
spring boot使用i18n时properties文件中文乱码问题的解决方法
国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素.换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产.开发这样的程序的过程,就称为国际化. 在springboot使用i18n进行国际化文件配置时,文件名为messages_zh_CN.properties的文件中填写中文信息,当使用浏览器进行访问时,出现中文乱码,此时在idea中进行修改setting
-
spring boot项目导入依赖后代码报错问题的解决方法
代码截图如图所示(由于本人问题已经解决,没来得及截图,所以在网上找了一张图片) 针对图中所示的情况,可参考一下解决方案: 方案一: 在 Idea 导入 Spring Boot 项目代码报红,试过更改maven配置,maven clean操作,执行-U idea:idea等命令还是提示:cannot resolve symbol 'SpringBootApplication' .我最终解决方法是导入要导入项目的pom.xml文件,而不是导入现有项目解决.选择pom.xml后会弹出提示框,选择a
-
spring boot jpa写原生sql报Cannot resolve table错误解决方法
错误如图 打开View→Tool Windows→Persistence选项 在弹出的Persistence窗口的项目上右键,选择Generate Persistence Mapping→By Database Schema 在此处进行数据库相关配置,配置成功后即可在下方看到数据库中的表 选择下载driver files,或者使用自己本地的connector 自定义连接 填写mysql相关的配置信息 选择data source,就可以看到数据库相关的配置了. 在弹出的Persistence窗口的
-
Spring Boot 直接用jar运行项目的方法
概述 在 Spring Boot 开篇-创建和运行 一文中,介绍了如何创建一个Sprint Boot项目并且运行起来.但是运行的方式是在IDEA中直接Run起来的.还有另一中方式可以可以把Spring Boot程序运行起来,就是直接在命令行中执行jar包. 打成jar包 以往的WEB程序需要打成WAR包,部署到Tomcat上,而Spring Boot支持打包成JAR的形式,就算是JAR里面包含图片.页面等,也是支持的.另外使用JAR包的方式也方便部署到Docker上. 要想把Spring Boo
-
详解Spring Boot 打包分离依赖JAR 和配置文件
1:自定义路径 <properties> <!--自定义路径--> <directory>d:/im/</directory> </properties> 2:把配置文件打包出来 <build> <plugins> <!--上线部署 JAR启动分离依赖lib和配置--> <!--打包jar--> <plugin> <groupId>org.apache.maven.plugi
-
Spring Boot 的java -jar命令启动原理详解
导语 在运用Spring Boot 后,我们基本上摆脱之前项目每次上线的时候把项目打成war包.当然也不排除一些奇葩的规定,必须要用war包上线,不过很多时候,我们对一些东西只是处在使用的阶段,并不会去深入的研究使用的原理是什么,这貌似也是大多数人的固定思维. 或许正是如此,总会有些没有固定思维的人会去积极的探索原理,当然这话不是说我是积极的,我其实也是只原理的搬运工.今天和大家来简单的说下Spring Boot 的项目在运行Java -jar的原理. jar包目录和jar命令启动入口 在正式开
-
Spring Boot打包部署和环境配置详解
执行命令 yum -y list java* 查看可安装java版本. Failed to set locale, defaulting to C Loaded plugins: fastestmirror base | 3.6 kB 00:00:00 extras | 3.4 kB 00:00:00 updates | 3.4 kB 00:00:00 (1/4): base/7/x86_64/group_gz | 166 kB 00:00:00 (2/4): extras/7/x86_64/p
-
spring boot打包成war包的页面如何存放
背景 经常有朋友问我,平时都是使用spring mvc,打包成war包发布到tomcat上,如何快速到切换到spring boot的war或者jar包上? 先来看看传统的war包样式是什么样子的? 1. 传统的spring MVC格式的war包 可以看到,webapp/resouces文件存放css/js/html等静态文件,WEB-INF存放jsp动态文件. 对应的配置文件 @EnableWebMvc //mvc:annotation-driven @Configuration @Compon
随机推荐
- VB实现屏蔽文本框右键菜单的复制、粘贴等功能的方法
- div模拟选择框示例代码
- javascript 写类方式之二
- Visual Studio 2017+OpenCV环境搭建教程
- 解读ASP.NET 5 & MVC6系列教程(12):基于Lamda表达式的强类型Routing实现
- JavaScript对象之深度克隆介绍
- .Net语言Smobiler开发利用Gridview控件设计较复杂的表单
- php身份证号码检查类实例
- php出租房数据管理及搜索页面
- python网络编程示例(客户端与服务端)
- Mysql使用索引实现查询优化
- MySql事务无法回滚的原因有哪些
- Android系统设置中的清除数据会清除哪些数据?
- Node.js利用Net模块实现多人命令行聊天室的方法
- 全屏js头像上传插件源码高清版
- javascript 短路法代码精简
- 使用Js让Html中特殊字符不被转义
- android隐式意图激活自定义界面和系统应用界面的实例
- C#用户定义类型转换详解
- C++ 继承详解及实例代码