相关疑难解决方法(0)

即使另一个配置文件被激活,如何保持activeByDefault的Maven配置文件处于活动状态?

我在我的pom.xml中有一个配置文件,除非明确停用(-P!firstProfile),否则它应始终处于活动状态.我通过使用activeByDefault标志解决了这个问题:

<profiles>
  <profile>
    <id>firstProfile</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    ...
  </profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)

现在在同一个pom.xml中我定义了第二个配置文件,只有在配置文件被激活时才会激活(-P secondProfile).因此默认行为是:firstProfile active,secondProfile inactive.在其他一些方面,除了第一个配置文件之外,我还想激活第二个配置文件.现在的问题是,如果我用"-P secondProfile"执行此操作,则不幸的是,第一个配置文件将被停用.Maven文档说明了这一点:

...除非使用前面描述的方法之一激活同一POM中的另一个配置文件,否则此配置文件将自动为所有版本激活.当在命令行上激活POM中的配置文件或通过其激活配置时,默认情况下处于活动状态的所有配置文件都将自动停用....

是否有可能如何保持firstProfile始终处于活动状态(无需在settings.xml中声明它)?

maven-2 maven-3 maven

102
推荐指数
4
解决办法
4万
查看次数

如何从Maven反应堆构建中排除模块?

我们有一个Maven 2项目,里面有很多模块.例:

<modules>
  <module>common</module>
  <module>foo</module>
  <module>data</module>
  <module>bar</module>
  ... more ...
</module>
Run Code Online (Sandbox Code Playgroud)

假设构建"数据"模块非常耗时,我们希望在CI服务器构建项目时将其排除.目前我们使用两个pom.xml文件来实现这一目标.一个包含所有模块,另一个包含所有模块,除了可以省略CI的模块.但这很烦人,因为有时我们会忘记将新模块放入两个文件中.

有没有一个解决方案不需要两个单独的模块列表?

maven-2 maven

90
推荐指数
5
解决办法
8万
查看次数

如何从mvn clean install中排除项目?

可能重复:
如何使用命令行从maven构建中排除某些模块

我正在maven clean install一个pom文件中运行一个包含几个模块(和子模块)的文件.我想知道是否可以运行maven构建但是在命令行上指定从构建中跳过一个模块(目前我从构建中手动排除它们,但我更喜欢通过命令行来完成它).

我知道使用-pl你可以有选择地选择项目,但我想要的是有选择地排除(以黑名单方式)一些.

maven-2 maven maven-install-plugin

3
推荐指数
1
解决办法
3971
查看次数

如何在 Maven 多模块项目中从 Javadoc 生成中排除单个模块?

我有一个像这样的 Maven 多模块项目:

foo-parent
    foo-module
    foo-module-new
    foo-other-module1
    foo-other-module2
    pom.xml
Run Code Online (Sandbox Code Playgroud)

当调用mvn javadoc:aggregatefoo-parent 时,我想从 Javadoc 生成中排除模块foo-module

excludePackageNames在我的情况下,通过带参数的包名排除不起作用,因为 foo-module 和 foo-module-new 具有相同的包名。

maven maven-javadoc-plugin

3
推荐指数
1
解决办法
2029
查看次数