springboot打Jar包和War包
⼀:打JAR包
在⼯程的l中添加以下依赖
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
我们⽬前的⼯程采⽤的是jar 的打包⽅式,所以我们在执⾏package 命令后,会产⽣⼀个jar 包。
我们进⼊到这个⽬录⽤压缩软件打开此jar 包,其中我们发现了⼀个叫lib 的⽂件夹,打开lib ⽂件夹发现此⽂件夹下全是⼯程依赖的jar 包,甚⾄还有tomcat。这种包含有jar 包的jar包,我们称之为fatJAR( 胖jar 包)
由于fatJAR 本⾝就包括tomcat , 我们就不需要另外部署了,直接在命令⾏就可以把我们的应⽤启动起来,在命令⾏,进⼊到jar 包所在的⽬录,我们可以通过以下java –jar命令来执⾏此jar 包。在控制台会出现启动信息,在浏览器访问程序
⼆:打WAR包
spring-boot 默认提供内嵌的tomcat,所以打包直接⽣成jar 包,⽤java -jar 命令就可以启动。但是,有时候我们更希望⼀个tomcat 来管理多个项⽬,这种情况下就需要项⽬是war 格式的包⽽不是jar 格式的包。
我们按照以下步骤完成对⼯程的改造
(1)修改l
将打包⽅式修改为war
<packaging>war</packaging>
添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>spring怎么读取jar文件
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
spring-boot-starter-tomcat 是原来被传递过来的依赖,默认会打到包⾥,所以我们再次引⼊此依赖,并指定依赖范围为provided,这
样tomcat 相关的jar就不会打包到war ⾥了.
(2)添加ServletInitializer
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.t.web.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilderapplication) {
return application.sources(Application.class);
}
}
由于我们采⽤web3.0 规范,是没有l 的,⽽此类的作⽤与l相同。(3)运⾏package 打包命令⽣成war 包
⽣成后将war 包放⼊tomcat,启动tomcat,测试完成的功能是否可以使⽤。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论