jboss-as-maven-plugin 无法部署到远程 JBoss AS7?
Posted
技术标签:
【中文标题】jboss-as-maven-plugin 无法部署到远程 JBoss AS7?【英文标题】:jboss-as-maven-plugin can't deploy to remote JBoss AS7? 【发布时间】:2012-03-03 03:59:39 【问题描述】:我已经尝试了几天使用jboss-as-maven-plugin
将 Web 项目部署到远程 JBoss AS7,但没有成功。
这是我的pom.xml
:
<!-- JBoss Application Server -->
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
<version>7.1.0.CR1b</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>deploy</goal>
</goals>
<!-- Only remote server needs -->
<configuration>
<hostname>192.168.1.104</hostname>
<port>9999</port>
<username>admin</username>
<password>admin123</password>
</configuration>
</execution>
</executions>
</plugin>
使用此配置,我可以在没有<configuration>
,甚至没有<username>
和<password>
的情况下部署到localhost。
为了部署到我的真实 IP 地址,我修改了 $JBOSS_HOME/configuration/standlone.xml,将 jboss.bind.address
从 127.0.0.1 更改为 >0.0.0.0(解除绑定JBoss地址),所以我可以使用以下方式部署项目:
<configuration>
<!-- 192.168.1.106 is my ip -->
<hostname>192.168.1.06</hostname>
<port>9999</port>
</configuration>
它也可以,但是通过将<hostname>
更改为指向我的另一台计算机(在同一路由器中)它不起作用,但是该计算机收到了请求,并且请求被某些东西切断了。 (我以为可能是JBoss)
Maven控制台报错信息如下:
INFO: JBoss Remoting version 3.2.0.CR8
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 30.572s
[INFO] Finished at: Fri Feb 10 23:41:25 CST 2012
[INFO] Final Memory: 18M/170M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.jboss.as.plugins:jboss-as-maven-plugin:7.1.0.
CR1b:deploy (default) on project MessagePushX-RELEASE: Could not execute goal de
ploy on MessagePush.war. Reason: java.net.ConnectException: JBAS012144: Could no
t connect to remote://192.168.1.104:9999. The connection timed out -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
谁能告诉我 JBoss 是 7.1.0 不允许远程部署?
对于一些安全问题?
【问题讨论】:
【参考方案1】:这绝对不是安全问题。
您所指的插件使用 JBoss AS7 的能力来使用服务器部署管理器部署应用程序(这是 AS7 中的新功能)。 Previously 只能通过 JMX 控制台进行部署,这要求服务器(本地文件或 URL)可以访问部署工件。
您需要确保:
192.168.1.104 正在运行 JBoss AS7,服务器部署管理器正在侦听端口 9999。 端口不应绑定到 localhost iface(不是 127.0.0.0:9999 而是 *:9999)。 您和 192.168.1.104 之间没有防火墙拒绝发送到端口 9999 的数据包。【讨论】:
谢谢你,终于找到了解决我的问题的方法。Jboss AS 7 使用 JMX 部署应用程序。所以我们应该打开 $JBOSS_HOME/standalone/configuration/standalone.xml ,找到这个对我有用的是从 jboss-as 插件更改为 wildfly 插件:
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>1.1.0.Alpha8</version>
</plugin>
然后使用maven命令:
mvn wildfly:deploy
参考:https://issues.jboss.org/browse/WFLY-3684
【讨论】:
与实际版本 其实这是解决办法【参考方案3】:对我来说,它在使用主机名参数“127.0.0.1”配置插件时有效,因为服务器似乎默认绑定到该 IP:
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
<version>7.3.Final</version>
<configuration>
<hostname>127.0.0.1</hostname>
</configuration>
</plugin>
</plugins>
</build>
【讨论】:
【参考方案4】:我使用最新版本的插件解决了这个问题:
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
<version>7.5.Final</version>
</plugin>
【讨论】:
【参考方案5】:远程部署绝对有效。
确保管理端口(本机)绑定到 *.9999,如上所述。
<socket-binding name="management-native" interface="management" port="$*:9999"/>
确保您已将用户添加到管理领域。另外,我注意到密码在我第一次运行插件时被缓存,所以后来它继续使用旧密码(从第一次运行开始)而不是新密码。我注意到这一点使用 mvn -X 选项。
我还关闭了 jboss 服务器主机上的防火墙。至少要打开 8787、4447、8080、9990 端口。
这是完整的插件声明
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
<version>7.6.Final</version>
<executions>
<execution>
<goals>
<goal>deploy</goal>
</goals>
<phase>install</phase>
</execution>
</executions>
<configuration>
<force>true</force>
<hostname>IP</hostname>
<port>9999</port>
<username>mvndeploy</username>
<password>pa##word1.</password>
<filename>$project.build.finalName</filename>
</configuration>
</plugin>
用 : 测试所有东西:
mvn package jboss-as:deploy
【讨论】:
【参考方案6】:对我来说,将 maven 插件的版本更改为较新的版本:
<version>7.1.0.Final</version>
【讨论】:
【参考方案7】:当我使用 IntelliJ 遇到同样的错误时,我从 JBoss 服务器取消部署项目并再次部署它工作正常。
【讨论】:
【参考方案8】:使用 wildfly-maven-plugin 代替 jboss-maven-plugin。
【讨论】:
【参考方案9】:这个问题一般是你的JBOSS绑定地址导致的,如果你看一下standlone.xml,jboss管理绑定地址是
jboss.bind.address.management:127.0.0.1
您可以将其更改为机器IP地址或将其指向0.0.0.0
jboss.bind.address.management:0.0.0.0/机器IP
重新启动 JBOSS 并尝试 mvn jboss 插件应该会像魅力一样工作。
【讨论】:
以上是关于jboss-as-maven-plugin 无法部署到远程 JBoss AS7?的主要内容,如果未能解决你的问题,请参考以下文章
IOS 杂笔-11(实现在外部无法改变UIView的size)