Maven:如何从命令行更改path到目标目录?
Maven:如何从命令行更改path到目标目录?
(我想在某些情况下使用另一个目标目录)
你应该使用configuration文件。
<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
更改目标目录
科林是正确的,应该使用一个configuration文件。 但是,他的答案硬编码在configuration文件中的目标目录。 另一种解决scheme是添加一个这样的configuration文件:
<profile> <id>alternateBuildDir</id> <activation> <property> <name>alt.build.dir</name> </property> </activation> <build> <directory>${alt.build.dir}</directory> </build> </profile>
这样做可能会将构build目录更改为由alt.build.dir属性(可以在POM中,在用户的设置中或在命令行中)给出的值。 如果该属性不存在,则编译将在正常目标目录中发生。
我的解决scheme
-
在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/"