Maven:如何从命令行更改目标目录的路径?

时间:2010-10-11 16:17:15

标签: java maven-2 maven

Maven:如何从命令行更改目标目录的路径?

(我想在某些情况下使用另一个目标目录)

3 个答案:

答案 0 :(得分:80)

您应该使用个人资料。

<profiles>
    <profile>
        <id>otherOutputDir</id>
        <build>
            <directory>yourDirectory</directory>
        </build>
    </profile>
</profiles>

使用您的个人资料启动专家

mvn compile -PotherOutputDir

如果您真的想从命令行定义目录,可以执行以下操作(根本不推荐):

<properties>
    <buildDirectory>${project.basedir}/target</buildDirectory>
</properties>

<build>
    <directory>${buildDirectory}</directory>
</build>

编译如下:

mvn compile -DbuildDirectory=test

那是因为您无法使用-Dproject.build.directory

更改目标目录

答案 1 :(得分:26)

Colin是正确的,应该使用配置文件。但是,他的回答硬编码了配置文件中的目标目录。另一种解决方案是添加如下配置文件:

    <profile>
        <id>alternateBuildDir</id>
        <activation>
            <property>
                <name>alt.build.dir</name>
            </property>
        </activation>
        <build>
            <directory>${alt.build.dir}</directory>
        </build>
    </profile>

这样做会将构建目录更改为alt.build.dir属性给出的内容,该属性可以在POM,用户设置或命令行中给出。如果该属性不存在,则编译将在正常目标目录中进行。

答案 2 :(得分:6)

我的解决方案:

    pom.xml中的
  •     <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <outputDirectory>${dir}</outputDirectory>
            </configuration>
        </plugin>
    
  • bash中的
  • 命令:

    mvn package -Ddir="/home/myuser/"