问题..
我想添加一个对 Maven jar 的依赖项,该 jar与它的 dependencies 打包在一起。
详细信息..
我有一个多模块 Maven 项目,其中一个模块依赖于本机库等。作为其构建的一部分,它将其依赖项打包成jar-with-dependencies
如下所示:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>${mainClass}</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
很好,我在构建时得到了两个罐子:
seaniscool-0.0.1-SNAPSHOT.jar
seaniscool-0.0.1-SNAPSHOT-jar-with-dependencies.jar
但是,我想在同一个项目的另一个模块中使用这个工件。如果我只是将模块添加为依赖项,我会得到不包含本机库的 jar。
我也可以复制构建配置以在第二个模块中包含本机库,它不是很广泛,但不希望这样做。
有什么想法可以将其添加jar-with-dependencies
为依赖项,从而依赖于包含的库吗?
一些想法..
我知道我可以用 Maven 可以引用的测试类构建一个单独的 jar:
在第一个模块中:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
在第二个模块中:
<dependency>
<groupId>my.group.id</groupId>
<artifactId>my.artifact.id</artifactId>
<version>my.version</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
这个概念在这里可以转移吗?