我試圖捆綁一個java檔案(JAR)與自包含的所有依賴關係。首先,我嘗試使用maven assembly plugin,雖然這是缺少一些類。 jar-with-dependencies documentation建議使用maven-shade-plugin,最終會丟失不同的類。我認爲發生的事情是使用相同包名的多個依賴似乎被跳過,所以像slf4j這樣的東西會被跳過。難以創建一個超級罐子
我真的更喜歡打包的jar包含庫自包含而不是重新打包它們。
我幾乎放棄了,並認爲我只是使用bin descriptor for the assembly plugin,它只能壓縮jar本身,沒有依賴關係。
注意:我知道其他人已經問過類似的問題,這些問題導致了使用陰影/彙編插件的建議,但沒有一個說明我遇到的具體問題。
UPDATE:請求khmarbaise以下顯示一個POM,其中所有類都跳過。請注意,還有另一個JAR使用相同的包結構,但是是本地化的bundle,包含本地化的bundle但省略了所有的類。
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ddtek</groupId>
<artifactId>openedge</artifactId>
<packaging>jar</packaging>
<version>10.1C04</version>
<name>openedge</name>
<url>http://progress.com</url>
<dependencies>
<dependency>
<groupId>com.ddtek</groupId>
<artifactId>base</artifactId>
<version>10.1C04</version>
</dependency>
<dependency>
<groupId>com.ddtek</groupId>
<artifactId>util</artifactId>
<version>10.1C04</version>
</dependency>
</dependencies>
</project>
請注意,上述POM是第三方庫,不會發布到maven,只存在於我們的本地nexus回購。
顯示pom並描述錯過了哪些課程? – khmarbaise
我有一個類似的問題,並會對其解決方案感興趣,因爲我無法找到滿意的解決方案。在附註中,你有什麼打算把所有東西放在一個罐子裏? –