第十九节 SpringBoot项目打包部署
一、基本步骤
现阶段,我只掌握了打成JAR包的方式。
(1)我们的SpringBoot项目打包。在pom.xml中增加打包方式。由packaging指明。
---packaging = jar 说明此项目是要打成JAR包。
---packaging = pom 说明此项目是父项目,用于聚合子项目,本身的代码不做打包。
一般项目都是jar打包形式。
<artifactId>learnspringboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>learnspringboot</name>
<packaging>jar</packaging>
(2)在pom.xml中配置基本分支。
<profiles>
<profile>
<id>dev</id>
<build>
<finalName>DEV20191112</finalName>
<resources>
<!-- 打resources目录下的全部 -->
<resource>
<directory>src/main/resources/</directory>
<!-- 除了yml-->
<excludes>
<exclude>**.yml</exclude>
</excludes>
</resource>
<!-- 指定到底打哪个yml-->
<resource>
<filtering>true</filtering>
<directory>src/main/resources/</directory>
<includes>
<include>application.yml</include>
<include>application-dev.yml</include>
<!--<include>application-#{env}.yml</include> -->
</includes>
</resource>
<!-- dev文件夹包下的文件会打到根目录classpath下 -->
<resource>
<directory>src/main/resources/dev</directory>
</resource>
</resources>
</build>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!-- 打resources下得全部与test包下的文件-->
<profile>
<id>test</id>
<build>
<finalName>TEST20191112</finalName>
<resources>
<resource>
<directory>src/main/resources/</directory>
</resource>
<resource>
<directory>src/main/resources/test</directory>
</resource>
</resources>
</build>
</profile>
<profile>
<id>pro</id>
<build>
<finalName>PRO20191112</finalName>
<resources>
<resource>
<directory>src/main/resources/</directory>
</resource>
<resource>
<directory>src/main/resources/pro</directory>
</resource>
</resources>
</build>
</profile>
</profiles>
我在其他博主的文章里看到了比较有用的解释:图片来源:idea 部署SpringBoot项目时打成jar包一些坑的总结
(3)导入打包的相关maven插件。照着配就对了。
普通Maven打包。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
</plugin>
</plugins>
</build>
SpringBoot项目打包。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
(4)在控制台输出命令。 -Dmaven.test.skip=true指明忽略测试文件的报错,-Ptest 是指打包test分支。因此打包的名字就是TEST20191112,在第二步中已经配置了。如果修改为 -Pdev,那么打包的文件命就是DEV20191112
mvn clean package -Dmaven.test.skip=true -Ptest
打包成功后,在target目录下生成TEST20191112.jar。
最后检查是否打包成功。检查target/classes目录下是否把项目的相关文件都打包。我这里检查是没问题的,所有JAVA和配置文件都被编译打包。
(5)部署。在这个jar文件下使用Java命令启动。可以动态切换分支。
输入cmd命令
java -jar TEST20191112.jar --spring.profiles.active=test
我在启动的时候,动态指明了使用test分支。实际情况下如果希望启动生产环境分支。输入下面的命令
java -jar TEST20191112.jar --spring.profiles.active=pro
这样就启动成功了,访问服务器的某个URL。我这里启动了test分支,是8082端口。
(6)项目日志在与JAR同级目录下。
二、源码下载
本章节项目源码:点我下载源代码