Wildfly 命令行部署失败

Posted

技术标签:

【中文标题】Wildfly 命令行部署失败【英文标题】:Wildfly command line deploy failure 【发布时间】:2016-03-26 11:41:33 【问题描述】:

我可以在 Eclipse 中运行 Wildfly 快速入门中提供的大部分教程:

https://github.com/wildfly/quickstart/

但是,当我使用命令行进行部署时遇到了问题。对于最基本的 HelloWorld 教程,我收到了这条消息:

mvn clean install

成功。但是,部署失败:

mvn clean install wildfly:deploy

错误信息:

打包webapp [INFO] 在 [/home/abigail/study/quickstart/helloworld/target/wildfly-helloworld] 中组装 webapp [wildfly-helloworld] [INFO] 加工战争项目 [INFO] 复制 webapp 资源 [/home/abigail/study/quickstart/helloworld/src/main/webapp] [INFO] Webapp 在 [2 毫秒] 内组装 [信息] 建设战争:/home/abigail/study/quickstart/helloworld/target/wildfly-helloworld.war [信息] [信息] [信息] --------------------------------------------- ------------------------- [INFO] 总时间:6.836 秒 [INFO] 完成于:2015-12-19T23:42:15-05:00 [INFO] 最终内存:21M/162M [信息] --------------------------------------------- ------------------------- [错误] 无法在项目 wildfly-helloworld 上执行目标 org.wildfly.plugins:wildfly-maven-plugin:1.0.2.Final:deploy (default-cli):无法在 /home/abigail/study/ 上执行目标部署快速入门/helloworld/target/wildfly-helloworld.war。原因:I/O 错误无法执行操作 ' [错误] "操作" => "读取属性", [错误] "地址" => [], [错误]“名称”=>“启动类型” [错误]':java.net.ConnectException:JBAS012144:无法连接到 http-remoting://127.0.0.1:9990。连接超时 [错误] -> [帮助 1] [错误] [错误] 要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven。 [错误] 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。 [错误] [错误] 有关错误和可能的解决方案的更多信息,请阅读以下文章: [错误] [帮助 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

【问题讨论】:

这是什么意思? “无法连接到 http-remoting://127.0.0.1:9990。连接超时” 我想你会发现 Eclipse 正在为你启动 WildFly。如果只是使用命令行,则需要先从命令行启动 WildFly 确实有效! wildfly:deploy 到底是做什么的?我检查了 Wildfly 中的部署/目录,但看不到 wildfly-helloworld.war 文件。那么它部署在哪里呢? 我有两台 Wildfly 服务器,分别位于不同位置的 Wildfly 8 和 9。我将为 mvn wildfly:deploy 启动哪个服务器是否重要? 不,它应该同时适用于两者。战争应该在 $WILDFLY_HOME/content/ 带有一些神秘的哈希路径 【参考方案1】:

您必须检查您是否为部署创建了用户。请参阅this article 进一步解释。

【讨论】:

谢谢!我不知道 pom.xml 中的 wildfly 插件应该与创建的用户一起指定。【参考方案2】:

当其他应用程序使用默认的 9990 端口时,我遇到了同样的问题。 我将 wildfly 移动到 port 9991(修改 standalone.xmlhost.xml),管理控制台开始工作,但部署仍然失败。 然后我发现wildfly plugin默认使用相同的9990。

我通过修改我的 progect 的 pom.xml 来处理这个问题,将另一个端口(我在独立时使用的相同)放入 Wildfly 插件的配置中。

    <plugin>
            <groupId>org.wildfly.plugins</groupId>
            <artifactId>wildfly-maven-plugin</artifactId>
            <version>$version.wildfly.maven.plugin</version>

             <configuration>
                <port>9991</port>
            </configuration>
    </plugin>

【讨论】:

以上是关于Wildfly 命令行部署失败的主要内容,如果未能解决你的问题,请参考以下文章

如何减少 Wildfly 部署所需的时间?

Wildfly Swarm YML属性文件

如何使用 Java 代码使用 jboss-cli 命令将 EAR 文件部署到 wildfly-17.0.1 服务器

为啥 ssh 从 crontab 失败但从命令行执行时成功?

Wildfly 9 上的部署失败

从我的命令行 Telnet 登录和密码失败