Maven程序集:将项目jar放在bin文件夹中

时间:2015-02-02 09:07:54

标签: maven

我们有一个deploy.xml文件,maven-assembly-plugin中的pom.xml部分引用了该文件。

从命令行运行mvn package -DskipTests -Pdeploy时,它会创建一个zip,其中所有依赖关系jar都放在lib文件夹中。它还将项目jar本身(具有特定于我们应用程序的代码和配置)放入lib。

我们希望将项目jar放在bin文件夹中。 (有人告诉我这是标准,但不确定是否属实)。我们如何修改配置来做到这一点?

这是我们现在deploy.xml中的相关配置:

<assembly>
    <fileSets>
        <fileSet>
            <directory>bin</directory>
            <outputDirectory>bin</outputDirectory>
        </fileSet>
    </fileSets>
...
    <dependencySets>
        <dependencySet>
            <outputDirectory>lib</outputDirectory>
            <includes>
                <include>*:*</include>
            </includes>
        </dependencySet>
    </dependencySets>
</assembly>

谢谢

1 个答案:

答案 0 :(得分:0)

您需要两个依赖集,一个包括项目工件,另一个包括依赖项:

<dependencySets>
    <dependencySet>
        <outputDirectory>lib</outputDirectory>
        <useProjectArtifact>false</useProjectArtifact>
    </dependencySet>
    <dependencySet>
        <outputDirectory>bin</outputDirectory>
        <includes>
            <include>${yourgroupid}:${yourartifactid}:jar</include>
        </includes>
        <useProjectArtifact>true</useProjectArtifact>
    </dependencySet>
</dependencySets>