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没有主目录清单问题的完美解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 详解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

随机推荐