我正在构建Java项目,并使用maven-dependency-plugin
能够将所有依赖项复制为jar到目标文件夹下的lib文件夹中。
通过使用maven-jar-plugin,我可以使用类/资源和清单文件创建jar。
但是我的愿望输出是my.jar应该包含依赖项jar。我发现了几个maven-shade-plugin, onejar-maven-plugin and maven-assembly-plugin
这样的插件。
但是所有这些都提供了爆炸性的依赖关系jar,而我实际上需要jar依赖关系。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.my.app</mainClass>
</manifest>
</archive>
</configuration>
</plugin>