jboss-as-maven-plugin无法部署到远程JBoss AS7?

时间:2012-02-10 17:17:15

标签: java deployment maven jboss

我已经尝试了几天使用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不允许远程部署?

对于某些安全问题?

9 个答案:

答案 0 :(得分:6)

这绝对不是安全问题。

您所引用的插件使用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。

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

参考:https://issues.jboss.org/browse/WFLY-3684

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

远程部署肯定有效。

  1. 请确保管理端口(本机)绑定到* .9999,如上所述。

    <socket-binding name="management-native" interface="management" port="${*:9999}"/>
    
  2. 请确保您已将用户添加到管理领域。此外,我注意到密码在我第一次运行插件时被缓存,所以稍后它会继续使用陈旧密码(从第一次运行)而不是新密码。我注意到这是使用mvn -X选项。

  3. 我还关闭了jboss服务器主机上的防火墙。至少必须打开端口8787,4447,8080,9990。

  4. 这是完整的插件声明

    <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插件应该像魅力一样。