java 使用Maven生成变更集并将其添加到JAR

n53p2ov0  于 2023-02-02  发布在  Java
关注(0)|答案(1)|浏览(142)

我正在使用maven-changelog-plugin生成一个git diff变更集。这个插件在我运行mvn sitemvn changeset:changeset时运行,并将变更集文件输出到target/site/changeset.html/target/changeset.xml中。我希望将生成的文件包含在我运行mvn clean install时构建的jar中。
如何将生成的文件包含在JAR中?我尝试使用build-helper-maven-plugin添加工件或源代码,但似乎变更集是在最后一步创建的,或者无法发现。
我最近的尝试:

<reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changelog-plugin</artifactId>
        <version>2.3</version>
        <reportSets>
          <reportSet>
            <id>changelog-report</id>
            <configuration>
              <type>range</type>
              <range>30</range>
            </configuration>
            <reports>
              <report>changelog</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <profile>
      <id>add-changelog-to-artifact</id>
        <activation>
            <file><exists>target/site/changelog.html</exists></file>
        </activation>
        <build>
          <plugins>
            <plugin>
              <groupId>org.codehaus.mojo</groupId>
              <artifactId>build-helper-maven-plugin</artifactId>
              <version>3.3.0</version>
              <executions>
                <execution>
                  <id>add-source</id>
                  <phase>generate-sources</phase>
                  <goals>
                    <goal>add-source</goal>
                  </goals>
                  <configuration>
                    <sources>
                      <source>target/site/changelog.html</source>
                    </sources>
                  </configuration>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </build>
    </profile>
  </profiles>
b4lqfgs4

b4lqfgs41#

maven-changelog-plugin的问题在于,它总是在比需要它的构建步骤晚的一个步骤运行,我最终使用了gitlog-maven-plugin,这允许我更改它执行的阶段

相关问题