重定向“mvn package”或“mvn compile”命令的输出目录

Posted

技术标签:

【中文标题】重定向“mvn package”或“mvn compile”命令的输出目录【英文标题】:Redirecting the output directory of 'mvn package' or 'mvn compile' command 【发布时间】:2015-01-22 08:58:35 【问题描述】:

我正在使用树脂服务器开发一个 Java 项目(其中 maven 是构建工具)。我为Tomcat找到了一些不错的plugins,如果我发出'mvn compile',那么编译后的文件将进入<tomcat>/webapps目录。但我还没有找到任何plugin 让树脂做同样的任务。所以现在我正在尝试更改'mvn compile''mvn package' 命令的输出目录。谁能建议我该怎么做?

默认情况下,mvn compilemvn package 的输出会转到 <project_dir>/target。但是我想把输出放到 '~/resin_hosts' 目录下。

提前致谢

【问题讨论】:

【参考方案1】:

尝试在 POM 中设置以下属性:

<build>
    <outputDirectory>$user.home/resin_hosts</outputDirectory>
</build>

maven-jar-plugin 还允许更改 jar 的目录:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.5</version>
    <configuration>
       ...
       <outputDirectory>output_dir</outputDirectory>
    </configuration>
</plugin>

【讨论】:

以上是关于重定向“mvn package”或“mvn compile”命令的输出目录的主要内容,如果未能解决你的问题,请参考以下文章

mvn package 打包时加入本地jar包

重定向

Maven - 为啥在“mvn clean”之后我需要在“mvn package”之前执行“Maven Update Project”?

Linux文件描述符与重定向

如何解决“预检无效(重定向)”或“预检请求不允许重定向”

如何解决“预检无效(重定向)”或“预检请求不允许重定向”