maven 设置版本号插件 和 assembly打包插件设置

midoll 179 2023-02-11

maven 设置版本号插件 和 assembly打包插件设置

maven 设置版本号插件

多模块父子工程中,每次迭代时修改版本号,要将父工程和所以子工程中的parent.version修改。这种手工修改方式极容易遗漏,导致项目内部模块版本依赖存在问题。

我们可以通过maven的插件方式来升级整个项目的版本号。方案如下:

  1. 在项目顶层pom中添加version插件
  <plugins>
          <plugin>
              <groupId>org.codehaus.mojo</groupId>
              <artifactId>versions-maven-plugin</artifactId>
              <version>2.10.0</version>
          </plugin>
      </plugins>

  1. 在项目根目录下执行以下命令修改版本号
// 设置新的版本号未1.2.0-SNAPSHOT
mvn versions:set -DnewVersion=1.2.0-SNAPSHOT

assembly打包插件设置

<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <finalName>${project.artifactId}-${project.version}</finalName>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef> // 将依赖一起打包
                    </descriptorRefs>
                    <appendAssemblyId>false</appendAssemblyId> //去除打包后的包名跟着jar-with-dependencies
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.0</version>
                <executions>
                    <execution>
                        <id>default-jar</id>
                        <phase>none</phase> // 去除maven原来的打包动作,这样就不会打出两个包来了
                    </execution>
                </executions>
            </plugin>
        </plugins>

# maven