【问题标题】:Can Maven profiles be defined in different files?可以在不同的文件中定义 Maven 配置文件吗?
【发布时间】:2010-12-15 08:18:01
【问题描述】:

我继承了一个没有配置文件设置的 Maven 项目,但是我需要为 dev/int/staging 等设置不同的不同配置文件。

根据我读到的内容,我可以将配置文件元素放入主 POM,但是有很多依赖配置元素,所以这个文件会变得很大,所以我想知道是否有办法告诉主 POM 引用不同的文件,所以它会是这样的:

  • POM.xml
  • DevProfile.xml
  • IntProfile.xml
  • StaProfile.xml

我假设这是不可能的,我只需要处理一个巨大的 POM,但我想我会问以防万一。

【问题讨论】:

    标签: maven


    【解决方案1】:

    Profiles 可以放在 POM 内部,也可以放在 Settings 外部。您最好将机器特定的设置保留在 POM 之外(如您所述),但您不能在设置中包含依赖项(据我所知)。

    我不得不将本机库之类的东西作为依赖项包含在内,并成功使用了配置文件,但确实必须使用 POM。 (但请注意,这是我能想到的需要在配置文件中包含 deps 的唯一原因之一,通常您不应该这样做,并且如果可能的话,您会希望避免它,因为构建的这些部分变得不确定.)

    要减少 POM 的大小,您可以使用继承。您可以为每台机器制作单独的 POM,这些机器使用一个包含所有公共内容的公共父级。不过要小心,继承会影响配置文件的激活方式。使用 Help 插件查看“有效 POM”(和/或有效设置)来解决此问题。

    【讨论】:

    • 会给你答案,看来我不能做我想做的事,但这不是世界末日。感谢您的回答!
    猜你喜欢
    • 2011-12-26
    • 2015-06-16
    • 1970-01-01
    • 2012-03-11
    • 2012-11-19
    • 2015-09-02
    • 2017-12-21
    • 2016-07-18
    • 1970-01-01
    相关资源
    最近更新 更多