maven工程两种打包方式(war和jar)运行
1.war包运行法
将项目打成war包:
####### ①pom.xml里面配置这一句(这个是控制war包还是jar包)
<packaging>war</packaging>
在下面 的build配置:(这个是控制war包名字)
<build>
<finalName>ROOT</finalName>
………………
</build>
####### ②Application文件修改
/**
* 打成war包
*/
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(ApplicationRun.class);
}
####### ③ 在pom.xml里添加
pom文件的spring-boot-starter-web里添加代码,移除嵌入式tomcat插件:推荐第一种
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
或者
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
<version>1.2.4.RELEASE</version>
</dependency>
添加代码
这样打出来的就是war包
运行方式:在本地(或linux上)布置一个tomcat,把打成的war包上传到webapps下面,把webapps下面的其他东西删除掉
这样对外暴露的是tomcat的端口,因为springboot的内置tomcat被排除了
然后执行bin目录下启动命令:linux是./startup.sh
在本地tomcat下点击startup.bat就可以
2.jar包运行
去掉
<packaging>war</packaging>
或者写
<packaging>jar</packaging>
需要引入tomcat并且,不能使用
<scope>provided</scope>
和<exclusion>
这样打出来的就是jar包,并且包含tomcat,在dos环境都可以运行
把jar包放在文件夹,在文件夹下执行:java -jar + jar包名字,这样就起来了
或者挂在后台运行:nohup java -jar +jar包名字 &