第十九节 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同级目录下。

二、源码下载

        本章节项目源码:点我下载源代码

        目录贴:跟着大宇学SpringBoot-------目录帖

 

posted @ 2022-07-17 12:14  小大宇  阅读(267)  评论(0编辑  收藏  举报