技术标签: springboot
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
spring boot加上这个插件,才可以使用Java -jar命令来启动jar包,并且有了这个插件,
打的包里面才会有maven依赖的jar包和spring boot的启动类,所以打的jar包也就比较大,
而且MANIFEST.MF文件里面也会有启动类的信息。但是如果不加这个插件,则打的包里面就只有class文件,
没有依赖的Jar包,MANIFEST.MF文件里面也没有启动类的信息,所以如果不加这个插件就不能独立启动。
注意:在用idea调试的时候加不加插件都可以启动,看不出来不同,所以必须要独立启动jar包才可以看出来。
而且如果用了spring boot但是不需要独立启动,就不要加这个插件,否则spring boot会因为找不到启动类而导致报错
Spring Boot的Maven插件(Spring Boot Maven plugin)能够以Maven的方式为应用提供Spring Boot的支持,即为Spring Boot应用提供了执行Maven操作的可能。
Spring Boot Maven plugin能够将Spring Boot应用打包为可执行的jar或war文件,然后以通常的方式运行Spring Boot应用。
Spring Boot Maven plugin的最新版本为2017.6.8发布的1.5.4.RELEASE,要求Java 8, Maven 3.2及以后。
1. Spring Boot Maven plugin的5个Goals
2. 配置pom.xml文件
3.mvn package spring-boot:repackage说明
Spring Boot Maven plugin的最主要goal就是repackage,其在Maven的package生命周期阶段,能够将mvn package生成的软件包,再次打包为可执行的软件包,并将mvn package生成的软件包重命名为*.original。
基于上述配置,对一个生成Jar软件包的项目执行如下命令。
在执行上述命令的过程中,Maven首先在package阶段打包生成*.jar文件;然后执行spring-boot:repackage重新打包,查找Manifest文件中配置的Main-Class属性,如下所示:
注意,其中的Main-Class属性值为org.springframework.boot.loader.JarLauncher;
Start-Class属性值为com.ericsson.ramltest.MyApplication。
其中com.ericsson.ramltest.MyApplication类中定义了main()方法,是程序的入口。
通常,Spring Boot Maven plugin会在打包过程中自动为Manifest文件设置Main-Class属性,事实上该属性究竟作用几何,还可以受Spring Boot Maven plugin的配置属性layout控制的,示例如下。
layout属性的值可以如下:
4.integration-test阶段中的Spring Boot Maven plugin的start/stop
maven-failsafe-plugin用作integration-test的主要执行目标。
spring-boot-maven-plugin用以为integration-test提供支持。
执行integration-test的Maven命令如下:
mvn verify
或者
mvn verify -Dit.skip=false
参考链接:
http://docs.spring.io/spring-boot/docs/1.5.4.RELEASE/maven-plugin/
https://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-maven-plugin.html
文章浏览阅读822次。官网下载链接:http://isoredirect.centos.org/centos/7/isos/x86_64/进入后,选择阿里云镜像:http://mirrors.aliyun.com/centos/7/isos/x86_64/各个版本的ISO镜像文件说明:CentOS-7-x86_64-DVD-1708.iso标准安装版(推荐)CentOS-7-x86_64-Everything-1708.iso完整版,集成所有软件(以用来补充系统的软件或者...
文章浏览阅读7.5k次,点赞2次,收藏11次。tensor提供GPU计算和自由梯度import torch#然后我们创建⼀一个5x3的未初始化的 Tensorx = torch.empty(5, 3)print(x)#结果tensor([[1.0469e-38, 9.3674e-39, 9.9184e-39], [8.7245e-39, 9.2755e-39, 8.9082e-39], [9.9184e-39, 8.4490e-39, 9.6429e-39], [1.0653e-38,
文章浏览阅读1.9k次。/ 今日科技快讯 /国务院新闻办公室作日发表《抗击新冠肺炎疫情的中国行动》白皮书,并举行新闻发布会。针对新冠疫苗研发,科技部部长王志刚表示,疫苗研发要把安全性、有效性、可及性放在..._安卓应用一般多少线程
文章浏览阅读788次。设计一个形状类(接口)Shape,方法:求周长和求面积_描述已知:1.图形类shape,该类中定义了图形的周长属性,以及返回周长的方法。2.
文章浏览阅读176次。importorg.apache.xml.serialize.OutputFormat;importorg.apache.xml.serialize.OutputFormat;importorg.apache.xml.serialize.XMLSerializer;importorg.w3c.dom.Document;importorg.xml.sax.InputSource;importorg....
文章浏览阅读621次。MyEclipse创建多模块maven项目_myeclipse如何指定pom文件多个
文章浏览阅读5.4k次。cd /sys/class/i2c-dev/i2c-2/device/2-0018 //不同的系统路径略有差异 0x18一般为该设备地址.cat name//显示i2c设备名称 /sys/class/i2c-dev //目录显示系统拥有的i2c总线i2c-0 i2c-1 i2c-2 等/sys/class/i2c-dev/i2c-2/device //目录下显示i_如何查找ch1116中i2c地址
文章浏览阅读601次。异常原因为:挂载目录被删除,但是虚拟机启动文件中还有该挂载目录,所以导致卡界面。解决步骤:启动界面Esc键进入配置界面-》选择recovery模式-》root1、 mount / -o remount2、修改/etc/fstab,将错误的挂载信息修改或者删除即可3、reboot..._ubuntu一直在mount
文章浏览阅读9.3k次,点赞4次,收藏15次。基环树是一种图,它由一个环组成,环上每个点都是一棵树点树根,所以称为基环树。当然,一棵树上连一条边也会变成基环树。下图是一个基环树.基环树一般分成环和树来分别处理(显然环的处理较为麻烦),那首先得找到环.找环大概就是dfs一下,找到一个在此结点之前走过的相邻结点就开始记录环.vector&amp;amp;lt;int&amp;amp;gt; G[MAXN]; //基环树int fa[MAXN]; ..._基环树
文章浏览阅读1.9w次,点赞31次,收藏64次。下载MinGW安装管理器进入官网MinGW官网点击右上角download,加载可能有些慢,稍等一下。点击如图下载。下载完install安装点击change选择你要安装的目录,continue继续。等待下载,下载完成后单击continue继续。现在MinGW安装管理器 就有了,可以正式安装MinGW了安装MinGW上一步安装好管理器之后会自动在桌面创建一个快捷方式,双击打开..._mingw10
文章浏览阅读1.1k次,点赞2次,收藏5次。Java中接口是很重要的_java抽象和接口
文章浏览阅读697次。虚函数小结1) 虚函数是动态绑定的,也就是说,使用虚函数的指针和引用能够正确找到实际类的对应函数,而不是执行定义类的函数。这是虚函数的基本功能,就不再解释了。2) 构造函数不能是虚函数。而且,在构造函数中调用虚函数,实际执行的是父类的对应函数,因为自己还没有构造好, 多态是被disable的。3) 析构函数可以是虚函数,而且,在一个复杂类结构中,这往往是必须的(delete 指向子类的..._c++ 派生类隐藏基类函数