【问题标题】:How to activate maven profile from command line (to build subsystem)如何从命令行激活 Maven 配置文件(构建子系统)
【发布时间】:2015-07-28 01:58:57
【问题描述】:

我有一个 Maven 项目https://github.com/paulvi/MavenMultiModule1

以 pom.xml 为根

<modules>
    <module>MavenModule1</module>
    <module>MavenModule2</module>
</modules>
<properties>

</properties>
<profiles>
    <profile>
        <id>p1</id>
        <modules>
            <module>MavenModule1</module>
        </modules>
    </profile>
    <profile>
        <id>p2</id>
        <modules>
            <module>MavenModule2</module>
        </modules>
    </profile>
</profiles>

我希望能够单独构建子系统,
例如mvn package -P p1mvn package -P p2

两个配置文件都可见,但无法使用-P 开关激活

mvn help:all-profiles -P p1

other project一起工作

这里缺少什么来激活配置文件或构建子系统的更好方法?

我已阅读How to activate a Maven profile in a dependent module?

【问题讨论】:

  • 有空格和无空格我都试过了。
  • 这到底有什么问题?你期望什么,你得到什么?

标签: java maven multi-module maven-profiles


【解决方案1】:

你的问题是通过声明

<modules>
    <module>MavenModule1</module>
    <module>MavenModule2</module>
</modules>

那些总是被建造的。 只需删除前 4 行,它就会按预期工作。

现在您可以通过键入以下内容来构建 MavenModule1:

-P p1

两者都输入:

-P p1,p2

等等。

【讨论】:

  • 考虑将所有模块添加到默认配置文件中,这就是它应该在 CI 上的样子。
【解决方案2】:

您不需要配置文件来构建特定模块,请改用-pl 标志。

http://books.sonatype.com/mvnref-book/reference/_using_advanced_reactor_options.html

【讨论】:

    【解决方案3】:

    您应该删除该空间,它应该可以正常工作。

    使用

    mvn 包 -Pp1

    【讨论】:

      猜你喜欢
      • 2015-09-04
      • 2017-10-11
      • 2018-07-03
      • 1970-01-01
      • 2011-11-12
      • 2014-10-29
      • 2010-12-03
      • 2016-05-20
      • 1970-01-01
      相关资源
      最近更新 更多