背景:
spring boot项目默认生成的是jar包。博主感觉不方便部署,无论是启动还是停止。还得查端口找进程。所以打算把spring boot 项目修改为war包。采用tomcat部署。直接扔在服务器上即可部署成功!
开始改:
- 修改pom.xml的jar为war。如下
<groupId>com.ytkj.service</groupId> <artifactId>EmergencyManagement</artifactId> <version>1.0.0</version> <packaging>war</packaging><!-- jar修改为war -->
-
修改项目主类继承SpringBootServletInitializer。如下
@SpringBootApplication @MapperScan("com.ytkj.service.gtc.dao") public class GtcManagementApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(GtcManagementApplication.class, args); } }
-
最后maven install就可以得到war包。
注意:
博主的项目是ssm的架构,修改完之后导致mybatis的xml无法打入war包中。导致项目无法正常启动,于是在pom.xml文件build标签中添加了下面一段配置,问题得以解决。
<build>
<!--配置打包时不过滤非java文件开始 -->
<!--说明,在进行模块化开发打jar包时,maven会将非java文件过滤掉, xml,properties配置文件等,但是这些文件又是必需的,
使用此配置可以在打包时将不会过滤这些必需的配置文件。 -->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<!--配置打包时不过滤非java文件结束 -->
</build>
补充:
如何修改最终生成的jar包或者war包名称?只需要在pom.xml的build标签中加入下面的内容:
<build>
<finalName>api</finalName>
</build>
关注提醒:
请大家关注博主微信公众号。会不定期分享技术文章。