使用 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
我正在尝试通过 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
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