添加一个额外的文件作为项目工件

Add one additional File as Project Artifact

我正在尝试制作一个只有一个 xml 文件作为工件的 Maven 项目。 目前我用这个配置压缩文件:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-assembly-plugin</artifactId>
  <executions>
    <execution>
      <id>create-distribution</id>
      <phase>package</phase>
      <goals>
        <goal>single</goal>
      </goals>
      <configuration>
        <descriptors>
          <descriptor>assembly/master.xml</descriptor>
        </descriptors>
      </configuration>
    </execution>
  </executions>
</plugin>

但我想让文件本身成为工件。 是否可以告诉 assemply 插件只使用一个文件作为工件?

您可以改用 deploy:deploy-file 目标。它允许您上传任意文件。

您可以使用 build-helper-maven-plugin 和目标 attach-artifact,如下所示。

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <!-- add configuration for antrun or another plugin here -->
      </plugin>
      ...
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>3.0.0</version>
        <executions>
          <execution>
            <id>attach-artifacts</id>
            <phase>package</phase>
            <goals>
              <goal>attach-artifact</goal>
            </goals>
            <configuration>
              <artifacts>
                <artifact>
                  <file>some file</file>
                  <type>extension of your file </type>
                  <classifier>optional</classifier>
                </artifact>
                ...
              </artifacts>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

但通常我不推荐这样做。