2012-07-20 119 views
18

我有一个我用Netbeans编译的maven项目。我有一种方法来指定一个不同的编译目录,其中编译后的二进制代码被复制?如何更改maven构建目录?

+2

最佳答案我发现:要为WAR指定输出路径http://stackoverflow.com/a/12598554/520567 – akostadinov 2013-07-12 14:42:57

+0

同意,使用POM配置文件绝对是IMO最灵活和最强大的解决方案。 – DuffJ 2015-04-30 09:44:50

回答

15
<project> 
    <build> 
    <outputDirectory>target/classes</outputDirectory> 
    </build> 
</project> 
+2

我测试了它 - 编译后的文件被移到那里。我想为最终的WAR包指定构建目录。 – user1285928 2012-07-20 22:03:55

+0

好的,你需要的只是[here](http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html)。我不觉得你需要设置什么(我虽然是编译的东西目录),所以选择你需要的东西。 – 2012-07-23 06:47:36

15

当然。

<build> 
    <directory>my_new_build_path</directory> 
</build> 

第2部分:与更新您的POM

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.0</version> 
    <configuration> 
     <warName>test-web-app</warName> 
     <outputDirectory>my_output_path</outputDirectory> 
    </configuration> 
</plugin> 
+0

如果我只将它放在我的父POM文件上,这是否适用于每个子maven项目? – user1285928 2012-07-20 22:09:26

+0

好点。具有此设置意味着每个模块的构建目录是相同的,而不是每个模块一个目录。 – Reimeus 2012-07-20 22:15:28

+0

我忘了写我没有包含'maven-war-plugin'的包。我也有'maven-compiler-plugin'。我如何配置它来更改输出目录? – user1285928 2012-07-20 22:40:02