如何在Maven生成的jar中包含特定文件夹?

时间:2017-03-29 16:21:42

标签: java maven jar build pom.xml

我有以下Maven项目结构:

${basedir}/ 
  - pom.xml
  - lib/
    - dependency1.jar
    - dependency2.jar
    - ...
  - src/
    - main/..
    - test/..
  - target/
    - classes/..
    - blah/
    - uggh/

如何修改pom文件以便将整个lib文件夹(及其内容)包含在生成的输出jar中?

此文件夹包含不能成为Maven存储库一部分的第三方jar。

2 个答案:

答案 0 :(得分:1)

使用maven-jar-plugin将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>

答案 1 :(得分:0)

用于指定确切的jar位置,请在<plugin> <build>下的<configuration> <outputDirectory> ${project.basedir}/../build/jars </outputDirectory> </configuration> 中包含以下内容:

DownloadFileAsync