我希望Run / Debug选项使用两个配置文件构建我的项目,例如 A 和 B 。手动构建时我会这样做:
mvn package -PA,B
我知道我可以使用View > Tool Window > Maven Projects > Profiles
选择个人资料,但它似乎没有通过个人资料。
我的POM看起来如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<artifactId>my_app</artifactId>
<packaging>war</packaging>
<profiles>
<profile>
<id>A</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<some.prop>someValue</some.prop>
</properties>
</profile>
<profile>
<id>B</id>
<properties>
...
</properties>
</profile>
</profiles>
<build>
<finalName>${project.artifactId}_${some.prop}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
...
</plugin>
...
</plugins>
</build>
</project>
我希望将 finalName 解析为my_app_someValue
(就像使用命令行手动构建时一样),而是将其解析为my_app_${some.prop}
,这会导致<创建了em> target / my_app _ $ {some.prop} 目录。
如何在运行或调试应用程序时实现上述功能?
如果无论如何重要,我正在尝试运行/调试Jboss的应用程序。
更新
我正在尝试调试JBoss Web应用程序。为此我设置了一个Jboss本地服务器,并且我已经创建了一个运行/调试配置。
同样,预启动任务是:
答案 0 :(得分:1)
使用View > Tool Window > Maven Projects > Profiles
是正确的方法。即使您没有使用maven运行配置...它仍会影响您的maven项目的类路径。
您正在运行什么类型的运行/调试配置?
我最近在Jetbrains社区中提出了或多或少相同的问题,你可以在这里阅读:https://intellij-support.jetbrains.com/hc/en-us/community/posts/360000127230-The-impact-of-maven-profiles-on-spring-boot-runner-