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.xml
和 host.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 命令行部署失败的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Java 代码使用 jboss-cli 命令将 EAR 文件部署到 wildfly-17.0.1 服务器