问题标签 [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.
maven - 使用配置文件属性进行 Maven 资源过滤
我有以下 pom.xml:
注意 上的activation
元素profile
被注释掉了
我也有以下内容src/main/java/application.properties
所以我希望 Maven 做的只是简单地替换${foo.bar}
为BazBat
,除非开发配置文件被激活,那么我希望 Maven 替换${foo.bar}
为Development
当我运行mvn package
时,它将值设置为BazBat
. 很好,资源过滤按预期工作。
但是,当我运行时mvn package -P Development
,它将值设置为BazBat
为了进一步混淆,如果取消注释activation
配置文件上的元素并运行mvn package
它将设置${foo.bar}
为Development
我什至让它输出活动的配置文件名称,在上面的两种情况下,它都说开发配置文件是活动的,但是如果没有设置标志mvn help:active-profiles package
,过滤仍然不起作用。activeByDefault
总结一下:
- 如果配置文件是,Maven 会使用配置文件中的值正确覆盖属性
activeByDefault
- 如果我通过命令行开关激活配置文件,Maven 不会覆盖该属性
到底是怎么回事?
我的环境:
更新: 我已经升级到最新的 maven (3.3.3) - 问题仍然存在。我的新环境:
maven - 配置文件中的插件和没有的插件有什么区别
我使用 maven-jgit-buildnumber-plugin( github ) 在一种情况下,我在配置文件中定义它:
在其他情况下,我将它指向 pom.xml 的构建部分。
在 pluginManagement 部分我尝试使用插件中的变量:
在第一种情况下它不起作用,变量为空。为什么???
maven - Maven 资源过滤 - 明确指定哪些文件需要属性注入
Maven 资源插件是否允许在注入 Maven 配置文件属性期间灵活地排除某些文件?
- 我不想从程序集中排除文件,只是从注入阶段。
我正在处理的项目在 Settings.xml 中为每个部署环境定义了唯一的 Maven 配置文件(和相应的属性)。构建项目时,会发生以下步骤
- 项目 POM 将资源文件夹定义为应用资源过滤的目标
- 资源文件夹包含 .XML 和 .PROPERTIES 文件
- 在 mvn:deploy 期间,Maven 按预期将 Profile 属性注入 .PROPERTIES 文件
- Maven 还将 Profile 属性注入到 .XML 文件中。这不是期望的行为(这些文件包含允许项目在部署应用程序期间灵活地注入值的占位符)
资源插件提供了配置选项来定义包含和排除选项,但是选择排除选项也会从程序集文件夹中排除指定的文件,这是不需要的。
是否可以告诉 Maven 哪些文件应该替换占位符?
maven - Maven 设置和 POM 中的相同配置文件名称
这是我使用 Maven 构建配置文件的第一天。我在以下文件中有个人资料:
- pom.xml
- Maven 设置 (%USER_HOME%/.m2/settings.xml)
出于好奇,我在两个文件中创建了一个具有相同 id(local_deploy) 的配置文件,唯一的区别在于一个属性(例如 tomcat.pwd)。
POM 中的配置文件如下所示:
Maven 设置中的配置文件如下所示:
请注意,Maven 设置中的配置文件未列在<activeProfiles>
.
当我尝试使用以下命令安装我的应用程序时
我的应用程序在控制台上使用以下输出进行部署:
我正在浏览这个文档,它说
所以,我假设我的部署应该因为 Maven 设置中的密码不正确而失败。我在这里想念什么?
java - 在 maven java 项目中获取运行时激活的配置文件名称列表
我需要能够使用在 JUnit 测试运行时激活的配置文件。我想知道是否有任何方法可以做类似的事情:
或任何其他相对方式...
我意识到有一个选项可以使用${project.profiles[0].id}
bu 不知何故它不起作用。
有任何想法吗?
java - 从主 POM 到 Maven Invoker 运行的配置文件继承
我在我的主 POM 中定义了一些配置文件,例如
然后我有一些 Maven Invoker 测试和invoker.properties
文件:
这里有配置文件的继承吗?我可以使用invoker.properties
如下的正确假设吗?
我在文档中找不到任何关于配置文件继承的信息。
java - Maven Build Profile Activation
I know there are some related topics but still I can't understand how to do it.
I'm learning maven and currently in process of creating build profiles. I want maven to auto detect the currently installed java version on my machine. Let's say I'm working in our office which uses (jdk7) or home (jdk8)
, I want the <source>
and <target>
elements in maven-compiler-plugin
pom.xml to auto detect the java -version
regardless of environment (office / home). I've read about activation
but can't perfectly understand the purpose.
maven - 在 Netbeans 和 Maven 多模块项目中使用配置文件为 Windows 和 Linux 构建
在 Java 的 NetBeans“工作区”中有几个项目(所有目录都在同一级别):
- 主要的
- MainExecutable(包含
main(String[] args)
调试方法) - JNILibrary(仅适用于 Linux)
- 10个其他项目
我试图通过JNILibrary\pom.xml中的配置文件为 Windows 提供“存根”(只是一些空方法)源代码,使其在 Windows 上可调试:
之后,当我右键单击 NetBeans 中的JNILibrary项目时,我可以选择Set Configuration -> linux
或。Set Configuration -> Windows
不幸的是,当我尝试调试MainExecutable项目时 - 它仍然(构建并)启动 Linux 版本 - 并且无法在我的 Windows PC 上启动。
有人可以指出如何解决我的问题的正确方向吗?
这是Main\pom.xml的摘录:
这里是MainExecutable\pom.xml的摘录:
maven - Run a goal of a plugin inside a profile
This profile has more things in it, but I included only what I want to run. How can I execute this particular goal, of this particular plugin?
I tried mvn exec:exec
but I get this
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.3.2:exec (default-cli) on project ando: The parameters 'executable' for goal org.codehaus.mojo:exec-maven-plugin:1.3.2:exec are missing or invalid -> [Help 1]
Moreover, the error output indicates the version 1.3.2
, but I'm using 1.4.0
.
eclipse - 从 POM 文件激活 settings.xml 定义的 Maven 配置文件
我们的企业团队维护一个settings.xml
文件,该文件定义了开发项目可以与 Maven 一起使用的各种配置文件,以构建他们的工件并将它们安装在存储库中。期望 Jenkins 中的每个项目都将定义一个 -P 参数并指定所需的配置文件。
这是我的问题:我需要使用的配置文件指定了一个通常对我的项目不可见的存储库(分阶段发布存储库),因此如果该配置文件处于活动状态,则无法依赖该存储库中的任何内容。settings.xml
我需要一种方法来激活在我的项目文件中定义的配置pom.xml
文件。否则,在 Eclipse 中查看我的项目时,将显示pom.xml
无法解析依赖项的错误,因为配置文件未激活以使存储库可见。
有没有办法激活settings.xml
文件中定义的配置pom.xml
文件?或者,有没有办法告诉 Eclipse 始终激活特定项目的配置文件?