Java 如何将所有依赖项放在runnable jar的单独文件夹中?
我正在使用Java 如何将所有依赖项放在runnable jar的单独文件夹中?,java,maven,Java,Maven,我正在使用mvn包创建一个可运行的jar,其中包含所有的依赖项,运行良好。 但我更喜欢将所有外部依赖项打包在一个单独的文件夹中。因此,我需要改变什么 <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.4</version> <configuration> <
mvn包
创建一个可运行的jar,其中包含所有的依赖项,运行良好。
但我更喜欢将所有外部依赖项打包在一个单独的文件夹中。因此,我需要改变什么
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>my.MainApp</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
maven汇编插件
2.4
带有依赖项的jar
my.MainApp
组装
包裹
单一的
使用maven dependencies插件
为执行复制依赖项
指定输出目录
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.5.1</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib/</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
希望这有帮助 您可以从中获得帮助。可运行jar如何知道在哪个目录中查找所需的依赖项?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>foo.bar.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>