【发布时间】:2015-03-15 05:47:19
【问题描述】:
由于我的构建系统的设计方式(RTC 构建引擎),我想通过属性文件为 maven 提供属性值,而不是为每个属性指定 -Dkey=value。
我在 S.O. 上发现了几个问题。 (How to set build properties from a file in Maven POM? 和 How to read an external properties file in Maven)与这个问题完全相关,但它们相对较旧,并且都需要自定义插件才能工作(处于 alpha 状态)。
我意识到像这样向 Maven 传递参数可能不是最好的解决方案,但另一个选项是通过 -D 设置在命令行上指定所有内容,这也不理想。
此外,鉴于此属性文件仅由构建引擎真正使用(而不是由单个开发人员使用),我并不真正相信它属于 pom.xml 文件。但我找不到任何其他允许我指定要使用的插件的机制 - settings.xml 不允许指定插件。
在这种情况下,我唯一的选择是使用插件并在项目 pom 中指定它吗?
【问题讨论】:
-
您能举例说明您想提供什么样的房产吗?
-
@khmarbaise :例如:-Dcore-version=1234 -Dlib-version=1234 -Dbuild-version=9999、-Dbuild-date=20150101 等
-
为什么喜欢定义 lib-version?没有道理吗?因为它们是在 pom.xml 中定义的。我能理解的是使用诸如 build-version...Build-Date 之类的东西(这可以通过不同的方式处理)。
-
@khmarbaise 我不喜欢定义这些值参数样式,但不幸的是,我别无选择。我正在将现有的生产构建系统从一个源代码控制/构建系统迁移到另一个,并且他们当前的构建使用脚本和手动定义的变量。这是一个迭代过程,长期目标是完全删除这些变量,但作为第一步,必须以这种方式完成。
标签: java maven properties