(一)将项目重构成多模块
重构成多模块流程:
第一步:更改最顶层节点的打包方式为pom
:<packaging>jar</packaging>
变成<packaging>pom</packaging>
第二步:构建model模块
第三步:构建persistence模块,依赖model
第四步:构建web模块,依赖persistence
备注:
重构完成以后,在根项目下会出现:
<modules>
<module>model</module>
<module>persistence</module>
<module>web</module>
</modules>
(二)项目打包
项目打包一般分为三种:Jar、War和Ear。备注:我们这里的打包是在上面分成多模块以后为前提的!!!
Jar包:由于Springboot已经内置了web容器,所以达成Jar包以后,可以通过java -jar **.jar
来启动项目。
War包:一般放在Tomcat中使用
Ear包:企业级开发常用。
1.打成Jar包流程
(1)指定Main Class
在项目分成多模块以后,web模块成我们的入口模块,所以我们需要将Main Class指定为web模块中的入口方法类(标注有“@SpringBootApplication
”注解的的main
方法所在的类)
(2)将顶层项目POM文件中的<build>....<build>
标签中的所有内容全部剪切到web
模块的POM
文件中
(3)进入项目根目录,输入打包命令
E:\springbootDemo\firstApp>mvn -Dmaven.test.skip -U clean package
-Dmaven.test.skip
:跳过单元测试
-U
:更新依赖
clean package
:打成jar包(spring boot默认打包方式)
(4)运行项目
执行如下命令:java -jar E:\springbootDemo\firstApp\web\target\web-0.0.1-SNAPSHOT.jar
2.打成War包流程
第(1)(2)步同上
(3)在web
模块的pom
文件中,调整打包方式为war
此时若我们直接就开始执行打包命令,那么则会报找不到“WEB-INF/web.xml
”文件错误:
所以接下来要进行第2步:增加webapp目录结构
(2)增加webapp目录结构
备注:只是为了能够打成war
包,里面不需要添加任何内容!!
(3)执行打包命令
E:\springbootDemo\firstApp>mvn -Dmaven.test.skip -U clean package
打包完成以后,会生成一个war
包!
(4)运行项目
war包既可以在Tomcat容器中运行,也可以直接以命令的方式运行(和运行jar包完全相同!)
执行如下命令:java -jar E:\springbootDemo\firstApp\web\target\web-0.0.1-SNAPSHOT.war