【发布时间】:2018-07-30 04:50:40
【问题描述】:
我已经猜到要更改 maven 构建的输出目标目录。 我看到的更多人问approximately same question,我改写了一下:
我希望为我的所有 m2 项目生成的所有文件都转到 特定的,不同于默认的构建目录。例如,如果我 有项目 P1 和 P2,默认构建目录是 P1/target 和 P2/目标。我想把它改成 P1/target 和 P2/target/ 甚至更好 - temp/P1/target 和 /temp/P2/target。
我不想修改每一个 pom.xml。我想把这个作为 一个全局的、我的环境特定的设置。
看起来有几个 maven 插件基于它们的构建目录路径 在“project.build.directory”上,所以我尝试了“m2 - Dproject.build.directory=/temp/target package" 但这没有效果。
有没有人知道任何可行的方法来实现这一点 - 无论是通过 settings.xml 或通过 -D 或其他一些全局方法?
【问题讨论】:
-
我找到了 -D 选项的解决方案,stackoverflow.com/questions/22741072/… 但全局设置对我来说似乎好多了。
-
Maven 提倡“约定优于配置”。约定说它将是
target/,相对于pom.xml。你可以与之抗争,但你只会不止一次地将头撞到墙上。此外,新人将加入您的项目(熟悉 Maven),他们会对这个不同寻常的项目感到困惑。问问自己(或告诉我们)您真正想要实现的目标是什么,而不是您(看起来像)您的品味告诉您事情应该放在与默认目录不同的目录中? -
目标非常非常简单。编译输出占用了宝贵的空间,开发完成后我不需要所有这些类。如果您的开发文件夹中有很多项目,只需查看 /target 文件夹中的空间......是的,我可以清理它。但我很懒……其他开发人员不会看到我的目标配置策略,除非我在我的 pom.xml 中这样做。我希望我的目标现在很明确。
-
所以我想通过本地配置更改约定,以不干扰其他可能的项目用户并期望 cmets 做到这一点。
-
那么使用符号链接不是更好吗?
标签: java maven settings pom.xml target