1
我有一個相當大的超過200個模塊的java maven項目,它可以。我試圖將所有這些模塊合併到單個jar中。如何使用多個子模塊從maven項目創建單個庫jar?
在某些情況下,只聲明一個新的maven依賴項會非常方便,例如。 my-library-5.2.4-SNAPSHOT-bundle.jar或類似的新項目。
我試過使用maven assembly-plugin。我可以創建新的jar文件,jar包含所有的模塊jar,並且如果我安裝它,它將正確地轉到本地.m2文件夾。 Jar可以在其他項目中聲明爲依賴項。
但問題是我不能在我的java類中導入庫中的任何模塊。導入不會識別這些內容。
我加入這個build一節我的根pom.xml中:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>make-bundle</id>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
而且我assembly.xml看起來是這樣的:
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>bundle</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<moduleSets>
<moduleSet>
<useAllReactorProjects>true</useAllReactorProjects>
<binaries>
<outputDirectory>modules</outputDirectory>
<unpack>false</unpack>
</binaries>
</moduleSet>
</moduleSets>
</assembly>
http://www.mkyong.com/maven/create-a-fat-jar-file-maven-assembly-plugin/ –