IntelliJ IDEA运行/调试Maven项目 - 如何传递配置文件?

时间:2018-04-09 21:03:40

标签: maven intellij-idea jboss pom.xml maven-plugin

我希望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本地服务器,并且我已经创建了一个运行/调试配置。

同样,预启动任务是:

  • 构建
  • 构建&#39; my_app:战争爆炸&#39;工件

1 个答案:

答案 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-