我正在尝试构建一个胖罐子以在其他地方使用它。
我maven assembly plugin
为此使用:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>assemble-all</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
在我的依赖项中,我有一个本地 jar 依赖项,我无法拒绝:
<dependency>
<groupId>com.example</groupId>
<artifactId>library</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/my-jar.jar</systemPath>
</dependency>
但是这个罐子包含在我用mvn package
.
将我的本地 jar 包含到 fat jar 作为依赖项的最佳方法是什么?
UPD。
有一些相关的问题,但他们并没有完全回答这个问题:
在构建 maven-assembly-plugin 之前将 jar 添加到 maven 本地存储库
中不会添加具有系统范围的依赖项