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>

使用此配置,我可以在没有&lt;configuration&gt;,甚至没有&lt;username&gt;&lt;password&gt; 的情况下部署到localhost

为了部署到我的真实 IP 地址,我修改了 $JBOSS_HOME/configuration/standlone.xml,将 jboss.bind.address127.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>

它也可以,但是通过将&lt;hostname&gt; 更改为指向我的另一台计算机(在同一路由器中)它不起作用,但是该计算机收到了请求,并且请求被某些东西切断了。 (我以为可能是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-maven-plugin 有效。 上述评论中的解决方案对我不起作用,只是在将其添加到我的standalone.xml 时出现解析错误【参考方案2】:

对我有用的是从 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?的主要内容,如果未能解决你的问题,请参考以下文章

无法滚动到底部 UICollectionview

IOS 杂笔-11(实现在外部无法改变UIView的size)

Nativescript 无法让 ListView 滚动到底部

无法滚动到底部

Tomcat 服务器无法“在外部”工作

UISearchController 打开后,iOS 13 无法滚动到底部