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

时间:2018-05-31 16:24:24

标签: java maven maven-assembly-plugin

我试图制作一个只有一个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插件只使用文件作为工件?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

您可以使用build-helper-maven-plugin和目标<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> ,如下所示。

$out = 'Consequences'
([Linq.Enumerable]::Select($out, [Func[char, int, char]] { param( $c, $i ) if( -not ($i -band 1) ) { $c } }) | ? {$_ -ne 0 }) -join ''

但通常我不推荐。