如何使用maven为特定文件夹创建其他JAR

时间:2016-06-13 12:51:35

标签: java maven jar

我有一个maven项目,我需要生成三个独立的罐子

  • 主要应用程序之一(默认)
  • 一个用于源代码(maven-source-plugin
  • 和我的应用文档中的一个,位于target/docs

问题:如何创建仅包含target/docs文件夹的jar?

1 个答案:

答案 0 :(得分:1)

您可以将以下内容添加到您的maven pom.xml文件build/plugins部分:

<plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.0.1</version>
    <executions>
        <execution>
            <configuration>
                <classifier>docs</classifier>
                <classesDirectory>${project.build.directory}/docs</classesDirectory>
                <includes>**/*</includes>
            </configuration>
            <id>pack-docs</id>
            <phase>package</phase>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>

基本上是:

  • 使用maven-jar-pluginjar目标为项目打包新的人工制品
  • 添加(或attaching)作为分类器(docs后缀附加到项目人工制品的常规约定,例如artifactId-version.jar
  • target\docs设置为文件来源,使用标准${project.build.directory}属性而不是target(默认为默认值)

运行

mvn clean package

然后您将作为输出的一部分

  • 通常创建的jar文件,例如sample-project-1.0.0-SNAPSHOT.jar
  • 新的docs文件,例如sample-project-1.0.0-SNAPSHOT-docs.jar