问题标签 [maven-profiles]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
2519 浏览

maven - 运行某个 Maven 目标时激活配置文件?

我正在寻找一种通用解决方案,以在运行某个 Maven 目标时启用 Maven 配置文件。例如,如果我运行

我还想自动激活配置文件报告。我不想手动进行,例如使用:

我希望在配置文件的激活部分中,我可以指定一个触发配置文件启用的 Maven 目标,但情况似乎并非如此。

另一个想法是,如果运行某个目标,我可以以某种方式配置一个属性来设置,因为配置文件可以由一个属性激活。但我还没有真正找到一种方法来做到这一点。

任何指向通用解决方案的指针?

0 投票
2 回答
59086 浏览

maven - Maven 的默认构建配置文件

我已将分析添加到我的 Maven 项目中。

当我在mvn clean install没有指定构建配置文件的情况下发出命令时。我需要默认构建开发配置文件。

我怎样才能做到这一点?

0 投票
1 回答
2957 浏览

maven-3 - 在多模块项目中使用配置文件

我有一个多模块 Maven 项目。项目布局描述如下:

父项目具有 pom 包装类型,CHILD1并将CHILD2项目声明为模块。项目还PARENT声明了配置文件dev,该配置文件声明了一些属性。CHILD1 项目具有 jar 包装类型,并dev通过添加一些依赖项(commons-collections例如依赖项)来“覆盖”父配置文件。CHILD2 项目具有战争包装类型,并依赖于 CHILD1 项目。dev此外,CHILD2通过添加另一个依赖项(commons-io例如,依赖项,我的意思是与项目 CHILD1 中的那个不相关的依赖项)来“覆盖”父配置文件。然后,当我运行mvn clean install -Pdevmaven 时,不会将commons-collections.jar(在 CHILD1 项目中声明的依赖项)WEB-INF/lib放入 CHILD2 项目,但 commons-io.jar 就在那里。

所以,问题是:如果目标项目在该配置文件中声明了另一组依赖项,为什么 maven 不从在目标项目的依赖项目中声明的配置文件中放置依赖项?

实际上,我有更多的项目和更多的依赖项,这些依赖项在不同的配置文件中有所不同。我想在该项目 pom.xml 中声明项目特定的依赖项(假设在项目中声明配置文件将“覆盖”父配置文件声明)

0 投票
1 回答
28577 浏览

maven - 在 Maven 配置文件中使用属性标签

我指的是“ Maven:完整参考”,尤其是有关配置文件的部分,该部分记录了此处<properties...标签中<profile...标签的使用:请参阅此处

我不确定的mvn install -Denvironment.type=dev是运行命令时会发生什么:

  • 这会创建一个.properties文件吗?
  • 如果不是,当应用程序在开发中测试时,tomcat(例如)将如何以及在哪里读取各个属性?
0 投票
2 回答
2165 浏览

maven - 在 Maven 中创建专属配置文件

我目前有一个带有特定平台配置文件的 pom(例如 linux 32 位、windows 64 位等)。此外,我已将其设置为自动选择调用者的平台作为默认值。

现在,假设我在一台 linux 32 机器上:我还想通过调用为 win64 构建,mvn -Pwin64 pakage但这样做,linux32 和 win64 配置文件都被激活。我尝试activeProfiles使用ativation标签激活本地平台配置文件。问题在于 -P 不会禁用所有其他配置文件,如文档中所述:

此选项采用一个参数,该参数是以逗号分隔的要使用的配置文件 ID 列表。指定此选项时,不会激活选项参数中指定的配置文件以外的配置文件。

我理解错了吗?你会怎么处理这个?

注意:我知道我可以运行mvn -P-linux32,win64但这仅在 linux32 平台上有效,任何错误都可能导致带有重复类的臃肿构建。

谢谢!

0 投票
6 回答
25166 浏览

eclipse - 如何在maven构建期间覆盖WAR文件中的文件?

我有一个在 Eclipse(更准确地说是 MyEclipse 10)中开发并使用 Maven 3 构建的 Java webapp 项目。

我有以下布局(仅包括与我的问题相关的文件:

如您所见,我包含了许多配置文件。在项目结构中处于适当位置的人,即在内部src/main/resources,并且src/main/webapp是我在 MyEclipse 中工作时经常使用的人。我可以使用 MyEclipse 连接器自动将部署更新为我的开发机器上的 Tomcat 实例。我只需单击“运行服务器”即可调试。实际上在这种情况下根本不需要使用 Maven。

然后,当我想为另一个环境(例如测试或生产)构建一个版本时,我运行mvn -P test clean install它并构建了一个不错的 WAR。

我的目标是将最终 WAR 中的配置文件替换为src/config/{environment}/.

我在我的pom.xml

然后,我尝试将这些资源从指定的配置文件(使用environment变量)复制到 WAR 中的正确位置(或将被压缩到 WAR 中的临时文件夹):

现在这似乎可行,除了“标准”资源在此之后被复制到目录中,因此它们覆盖了这些文件。所以我总是以例如log4j.xmlfromsrc/main/resources而不是 from the one 结尾说src/main/configuration/prod/

从 Maven 输出中提取:

正如您在最后一行看到的那样,src/main/webapp之后复制了来自的内容,从而覆盖了我的自定义文件:(

我的问题:如何强制 Maven 使用“来自激活的配置文件”的文件并以某种方式覆盖“自然”文件?

0 投票
5 回答
19852 浏览

maven - 如何在多模块项目中列出 mvn 中所有激活的配置文件

mvn help:active-profiles 仅列出在您调用它的项目+系统设置中激活的配置文件。

它没有列出已从父 pom 启用/激活的配置文件。

有什么方法可以通过试错法以外的其他方式实际查看已激活配置文件的完整列表,以查看哪些属性已启用或未启用?

0 投票
0 回答
208 浏览

maven - 如何让 Heroku 使用我的“acctest”maven 配置文件?

我想将 Heroku 用作(最终用户)验收测试环境。我的不同环境之间的差异是通过使用不同的 Maven 配置文件(基本上切换到使用包含属性文件的特定目录)来捕获的。

因此,对于本地开发,我们运行“mvn -P local-dev package”;部署到生产环境时,我们运行“mvn -P prod install”等。

现在我们希望 Heroku 使用“acc-test”配置文件运行 maven。也就是说,我们想要一个 git push 来触发“mvn -P acc-test install”,而不是运行标准的“mvn install”。

那可能吗?我们怎么能做到这一点?

0 投票
1 回答
323 浏览

maven - 如何在grails中使用maven配置文件和配置文件?

我有 grails 应用程序,它是一个更大的 Maven 项目的子项目。我想将一些属性传递给 grails。这些属性在 Maven 配置文件中定义。我怎样才能做到这一点?如何在 grails 应用程序中访问这些属性?如果我想用 grails run-app 运行这个应用程序,如何使用它们?

0 投票
2 回答
6125 浏览

maven - Maven 配置文件删除依赖项

我有声明依赖项 A、B 和 C 的 pom。是否可以创建一个删除依赖项的配置文件,以便当我使用该配置文件编译时,我最终会得到例如编译的依赖项 A 和 B(没有 C)?