Joh*_*ine 1 java dependencies maven-2 maven
所以我的maven项目依赖于一个不在任何maven存储库中的jar.因此,我需要使用系统范围将此本地文件包含在我的maven类路径中.问题是:当我构建我的最终jar以分发我的库时,我确实需要以某种方式包含它的依赖性.这些类可以被提取,然后与我的库类捆绑在一起,或者jar可以以某种方式包含在我的库jar中.我甚至不确定后者(罐子里面的jar)是否可以用Java.
那我该怎么办呢?Maven是否会依赖我的系统范围并为我处理这个问题?我该怎么办?
谢谢!
不,它不会.这些依赖项仅用于编译和传递依赖项解析.你的图书馆消费者也应该有jar.但是,您可以使用Assembly Plugin将jar的类重新打包到工件中.
或者,标准方法:然后您将发布您的工件,您将创建一个公共存储库以进行部署.您也可以在其中部署jar.
UDPATE:为shade插件添加示例(而不是Assembly)
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<artifactSet>
<includes>
<include>legacy-jar.groupId:legacyJar</include>
</includes>
</artifactSet>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
971 次 |
| 最近记录: |