我有一个带有个人资料的maven pom。在其中一个配置文件中,我指的是像这样的系统变量
<profile>
<id>kasper</id>
<properties>
<user>${username}</user>
</properties>
</profile>
当我使用-Dusername = kasper调用maven命令行时,一切似乎都很好。
问题是,我在IntelliJ中导入了这个项目。 IntelliJ 13允许通过Maven工具窗口选择要运行的配置文件。
当我在运行测试时选择要使用的特定配置文件时,我似乎无法找到如何正确替换此属性,即真正告诉IntelliJ它必须选择此用户名或运行我的maven测试,我尝试了一切,似乎没有选择。
有人有想法吗?
卡斯帕
答案 0 :(得分:9)
在IntelliJ 14中,maven配置文件不会传递给测试(默认情况下)。
您可以通过设置 - &gt;中的选项激活此机制。 Maven - &gt;运行测试,它允许您将systemPropertyVariables传递给单元测试 - 这应该涵盖您的情况。
答案 1 :(得分:4)
查看 - &gt;工具Windows - &gt; Maven项目 然后右键点击所需的阶段,例如包它将是上下文菜单中的第二个项目 *创建[project_name]包... *
在某些标签页上,您可以覆盖VM属性,添加配置文件等。
答案 2 :(得分:0)
好的,我明白了。
转到JUnit或TestNG上的Intellij配置(无论您使用哪一个)。在VMoptions下...您可以将自定义系统属性变量从Maven添加到调试器旁边的-ea选项,就像terminal命令一样。
-ea -Dtest.environment=QA