【发布时间】:2016-05-07 08:40:39
【问题描述】:
我们的企业团队维护着一个 settings.xml 文件,该文件定义了开发项目可以使用 Maven 构建其工件并将其安装到存储库中的各种配置文件。期望 Jenkins 中的每个项目都会定义一个 -P 参数并指定所需的配置文件。
这是我的问题:我需要使用的配置文件指定了一个通常对我的项目不可见的存储库(分阶段发布存储库),因此如果该配置文件处于活动状态,则无法依赖该存储库中的任何内容。我需要一种方法来激活我项目的pom.xml 文件中settings.xml 中定义的配置文件。否则,在 Eclipse 中查看我的项目时,pom.xml 中会显示无法解析依赖关系的错误,因为配置文件未激活以使存储库可见。
有没有办法在pom.xml 文件中激活settings.xml 定义的配置文件?或者,有没有办法告诉 Eclipse 始终激活特定项目的配置文件?
【问题讨论】:
-
为什么不能在命令行激活配置文件?我不确定我是否理解了这个问题。
-
在 settings.xml 中定义构建配置文件从来都不是一个好主意,尤其是在 Jenkins 中。 Jenkins 有一个很好的插件:Config File Provider 可以完美地处理这个问题。此外,听起来您应该使用存储库管理器进行开发...
-
@khmarbaise :我会让企业人员知道这个插件,谢谢。我们正在使用存储库管理器。我的问题是候选版本作为开发中其他项目的依赖项的可见性。
-
@Tunaki :问题在于 Eclipse 在其正常工作区构建期间没有指定命令行。我确实找到了解决方案,它在我自己提供的答案中。
-
@cneff 你错了,确实如此;)。创建一个自定义 Maven 构建(运行 > Maven 构建...),您有一个文本框:您可以列出“活动配置文件”。然后,您可以使用
${projectloc}占位符使该构建配置通用。然后你只需要选择项目并运行配置!
标签: eclipse maven maven-profiles