使用 Maven Wildfly 插件部署到 JBoss EAP 7

Deployment to JBoss EAP 7 with Maven Wildfly plugin

我正在尝试通过 Maven 将应用程序部署到本地 JBoss EAP 7.0 服务器。通过管理控制台和通过 "doDeploy" 方法手动部署都可以正常部署。

我不确定我需要做什么才能让它正常工作。

我已尝试按照网站上的说明进行操作,但无济于事:https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html/configuration_guide/deploying_applications#deploying_apps_using_maven

这里是 pom.xml

的相关部分
<build>
    <finalName>${project.artifactId}_${project.version}</finalName>
    <sourceDirectory>src</sourceDirectory>
    <testSourceDirectory>test</testSourceDirectory>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <configuration>
                <source>${java.version}</source>
                <target>${java.version}</target>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <version>3.0.0</version>
            <configuration>
                <warSourceDirectory>WebContent</warSourceDirectory>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>3.0.0</version>
            <configuration>
                <doclint>none</doclint>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.wildfly.plugins</groupId>
            <artifactId>wildfly-maven-plugin</artifactId>
            <version>1.2.1.Final</version>
            <configuration>
                <hostname>${deploy.jboss.hostname}</hostname>
                <username>${deploy.jboss.user}</username>
                <password>${deploy.jboss.pass}</password>
            </configuration>
        </plugin>

    </plugins>
</build>

不幸的是,当 运行 mvn clean wildfly:deploy -X -e

时,我从 maven 收到以下错误
Caused by: java.lang.IllegalStateException: WFLYCTL0216: Management resource '[]' not found
at org.wildfly.plugin.core.DefaultDeploymentManager.hasDeployment(DefaultDeploymentManager.java:370)
at org.wildfly.plugin.core.DefaultDeploymentManager.hasDeployment(DefaultDeploymentManager.java:331)
at org.wildfly.plugin.core.DefaultDeploymentManager.forceDeploy(DefaultDeploymentManager.java:85)
at org.wildfly.plugin.deployment.DeployMojo.executeDeployment(DeployMojo.java:70)
at org.wildfly.plugin.deployment.AbstractDeployment.execute(AbstractDeployment.java:150)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more

关于可能导致问题的原因有什么想法吗?

编辑:我在确定问题方面取得了一些进展。这个问题似乎源于我的 standalone.xml 服务器配置使用了 rbac 身份验证机制。使用 "simple" 部署会立即工作,但是使用 "rbac" 和特定的用户名和密码会失败,我无法让它工作。我已经在 JBoss 论坛上开了一张票以进一步曝光:https://developer.jboss.org/message/980860#980860

对于遇到此问题的任何其他人,问题是通过将 standalone.xml 更改为手动使用 "rbac",它不会 'fully' 禁用简单身份验证。在 James R. Perkins 的一些发现之后,他确定了这个问题,但可以通过对 standalone.xml:

执行以下操作来手动解决
<management>  
    <security-realms>  
        <security-realm name="ManagementRealm">  
            <authentication>  
                <local default-user="$local" skip-group-loading="true"/> <!-- THIS LINE WAS REMOVED --> 

最后一行已删除,我现在可以使用 maven 插件进行部署了。

有关更多详细信息,请参阅此处 JBoss 开发者论坛上发布的问题:https://developer.jboss.org/message/980860#980860