Java 如何在Maven生成的jar中包含特定文件夹?
我有以下Maven项目结构:Java 如何在Maven生成的jar中包含特定文件夹?,java,maven,jar,build,pom.xml,Java,Maven,Jar,Build,Pom.xml,我有以下Maven项目结构: ${basedir}/ - pom.xml - lib/ - dependency1.jar - dependency2.jar - ... - src/ - main/.. - test/.. - target/ - classes/.. - blah/ - uggh/ 如何修改pom文件,以便在生成的输出jar中包含整个lib文件夹(及其内容) 此文件夹包含不能作为Maven存储
${basedir}/
- pom.xml
- lib/
- dependency1.jar
- dependency2.jar
- ...
- src/
- main/..
- test/..
- target/
- classes/..
- blah/
- uggh/
如何修改pom文件,以便在生成的输出jar中包含整个lib文件夹(及其内容)
此文件夹包含不能作为Maven存储库一部分的第三方jar。使用
Maven jar插件
将依赖项从lib复制到fat jar中
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>your.main.class</mainClass>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
org.apache.maven.plugins
maven jar插件
真的
你的主课
解放党/
要指定确切的jar位置,请在
下的中包含以下内容:
${project.basedir}/./build/jars
谢谢,这很有效。如果我还想指定确切的目标位置?例如:/lib/…jars实际上有一个包含jar文件的lib文件夹?如果是的,你做的Maven错了…应该被定义为依赖项,但不是项目的一部分。。。
<configuration>
<outputDirectory>
${project.basedir}/../build/jars
</outputDirectory>
</configuration>