我已经尝试了几天使用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>
的情况下部署到 localhost ,甚至没有<username>
和<password>
。
要部署到我的真实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不允许远程部署?
对于某些安全问题?
答案 0 :(得分:6)
这绝对不是安全问题。
您所引用的插件使用JBoss AS7能力使用服务器部署管理器部署应用程序(这是AS7中的新功能)。 Previously只能通过JMX控制台进行部署,这需要服务器(本地文件或URL)可以访问部署工件。
您需要确保:
答案 1 :(得分:4)
对我有用的是从jboss-as plugin更改为wildfly插件:
element.all(by.css(".item a.gc-exercises-link")).getText().then(function(itemList) {
expect(itemList[3]).toEqual('some text');
}
然后使用maven命令:
.each()
答案 2 :(得分:1)
对我而言,在使用hostname参数“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>
答案 3 :(得分:1)
我使用最新版本的插件解决了这个问题:
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
<version>7.5.Final</version>
</plugin>
答案 4 :(得分:1)
远程部署肯定有效。
请确保管理端口(本机)绑定到* .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
答案 5 :(得分:0)
对我来说,将maven插件的版本更改为更新版本:
<version>7.1.0.Final</version>
答案 6 :(得分:0)
当我使用IntelliJ获得相同的错误时,我从JBoss服务器取消部署该项目并再次部署它工作正常。
答案 7 :(得分:0)
使用wildfly-maven-plugin代替jboss-maven-plugin。
答案 8 :(得分:0)
这个问题通常是由于JBOSS的绑定地址引起的,如果你看一下jboss管理绑定地址的standlone.xml
jboss.bind.address.management:127.0.0.1
您可以将其更改为机器IP地址或将其指向0.0.0.0
jboss.bind.address.management:0.0.0.0/machine IP
重新启动JBOSS并尝试使用mvn jboss插件应该像魅力一样。