我有一个压缩的tar.gz文件,我想用它作为其他项目的依赖项。
我无法使用以下命令在maven存储库中上传它,因为maven不支持tar.gz打包:
mvn install:install-file -Dfile = / path-to-file / XXX-0.0.1-SNAPSHOT.tar.gz -DomFile = / path-to-pom / pom.xml
示例pom.xml
<project>
<modelVersion>4.0.0</modelVersion>
<name>XXX</name>
<groupId>com.example.file</groupId>
<artifactId>xxx</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>tar.gz</packaging>
</project>
如果我使用上面提到的rar打包命令,那么maven会上传XXX-0.0.1-SNAPSHOT.tar.gz文件,但扩展名为.rar
除了为自定义包开发maven插件之外,有没有办法在maven存储库中上传tar.gz,然后在其他项目中将它作为依赖项使用?
(注意:我只想使用tar.gz,而不是任何其他压缩,例如rar等)。
答案 0 :(得分:4)
@khmarbaise,谢谢你指导正确。使用附加工件解决了该问题。这是我的pom.xml中的一个片段:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<extensions>true</extensions>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>xxx-0.0.1-SNAPSHOT.tar.gz</file>
<type>tar.gz</type>
<classifier>optional</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
同样,可以在其他项目中添加依赖项,如下所示:
<dependencies>
<dependency>
<groupId>your.group.id</groupId>
<artifactId>xxx</artifactId>
<version>0.0.1-SNAPSHOT</version>
<classifier>optional</classifier>
<type>tar.gz</type>
</dependency>
</dependencies>