springboot 打包自定义包名

  前一篇文章《springboot 不同环境配置问题》提到了根据spring profile机制进行不用环境的打包:

  https://www.cnblogs.com/su-melody/articles/12340507.html


  本文在提一下如何简单的自定义打包时输出的包名。

  1. 自定义包名属性

  在pom文件的profile节点中追加一条property,自定义属性名称作为打包输出的名字。如下:

 <!-- 使用profile机制针对不同环境打包。命令行采用mvn -P 环境名 来执行打包 -->
  <profiles>
      <profile>
          <id>dev</id>
          <properties>
              <package.env>windows</package.env>
              <!-- 自定义名称 -->
           <package.buildName>development</package.buildName>
          </properties>
          <activation>
              <activeByDefault>true</activeByDefault>
          </activation>
      </profile>
      <profile>
          <id>test</id>
          <properties>
              <package.env>test</package.env>
              <package.buildName>test</package.buildName>
          </properties>
      </profile>
      <profile>
          <id>prod</id>
          <properties>
              <package.env>prod</package.env>
              <package.buildName>prod</package.buildName>
          </properties>
      </profile>
  </profiles>

 

  2.引用自定义的属性名

  这次在pom的build节点追加<finalName>属性,引用自定义的属性名。如图:

 

   详细节点配置如下:

<build>
      <!--最终打包名,打jar包在此配置。 此处引用变量${package.buildName} -->
      <finalName>${project.artifactId}-${project.version}-${package.buildName}</finalName>
    <plugins>
          <plugin>
              <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>
    </plugins>
    <!-- 因增加了profiles节点指定环境配置,故build节点中要增加resource来指定文件所在 -->
    <resources>
          <resource>
              <directory>src/main/resources</directory>
              <!-- 过滤属性需要设置为true才会用指定文件覆盖原来的配置 -->
              <filtering>true</filtering>
              <includes>
                  <!-- 定义要纳入的文件,这里*代表所有properties,xml后缀的配置文件 -->
                  <!-- 注意:一旦这里include,那么只会加载include中的文件,没有指定的文件在打包的时候不会被加载,所以这里要么针对性的明确加载哪些文件,要么全部加载 -->
                  <include>**/*.properties</include>
                  <include>**/*.xml</include>
              </includes>
          </resource>
    </resources>
</build>

  

  至此,再打开cmd命令,在项目所在根目录执行打包命令就可以得到自定义包名的jar包了。

  mvn -D maven.test.skip=true -U clean package -P test

  

 

 

  

posted @ 2020-02-25 18:10  风灵苏  阅读(1330)  评论(0)    收藏  举报