我只是将Jboss工具安装到Eclipse Mars中并尝试使用Wildfly 10.0 Runtime。我已将运行时配置为使用域模式,但当我尝试启动应用时,我收到错误:
11:18:07,344 INFO [org.jboss.modules] (main) JBoss Modules version 1.5.0.Final
11:18:07,564 INFO [org.jboss.msc] (main) JBoss MSC version 1.2.6.Final
11:18:07,618 INFO [org.jboss.as] (MSC service thread 1-7) WFLYSRV0049: WildFly Full 10.0.0.CR5 (WildFly Core 2.0.5.Final) starting
11:18:07,871 ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0055: Caught exception during boot: org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0085: Failed to parse configuration
at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:131)
at org.jboss.as.server.ServerService.boot(ServerService.java:356)
at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:299)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[3,1]
Message: Unexpected element '{urn:jboss:domain:4.0}domain'
at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:108)
at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69)
at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:123)
... 3 more
11:18:07,872 FATAL [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0056: Server boot has failed in an unrecoverable manner; exiting. See previous messages for details.
11:18:07,873 INFO [org.jboss.as.server] (Thread-2) WFLYSRV0220: Server shutdown has been requested.
11:18:07,883 INFO [org.jboss.as] (MSC service thread 1-6) WFLYSRV0050: WildFly Full 10.0.0.CR5 (WildFly Core 2.0.5.Final) stopped in 6ms
当我使用独立模式但我需要域模式来测试我的应用时,我不会遇到此问题。有谁知道问题可能是什么?
答案 0 :(得分:0)
实际上,jBoss服务器运行时插件/工具构建的“启动配置”对于域 - 模式启动是错误的。
您可以按照以下方式修复:
不要忘记检查OUT选项'始终更新与运行时相关的参数'
计划参数:
-mp "C:/jBOSS/EAP70/modules" org.jboss.as.process-controller -jboss-home "C:\jBOSS\EAP70" -jvm "C:\java\JDK8U66\jre\bin\java" -mp "C:/jBOSS/EAP70/modules" -- "-Dorg.jboss.boot.log.file=C:/jBOSS/EAP70/domain/log/boot.log" "-Dlogging.configuration=file:/C:/jBOSS/EAP70/domain/configuration/logging.properties" -Xms64M -Xmx512M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -server -- -default-jvm "C:\java\JDK8U66\jre\bin\java"
VM参数:
-Xms64M -Xmx512M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -server "-Dorg.jboss.boot.log.file=C:/jBOSS/EAP70/domain/log/boot.log" "-Dlogging.configuration=file:/C:/jBOSS/EAP70/domain/configuration/logging.properties" -cp "C:\jBOSS\EAP70\jboss-modules.jar" -Djboss.home.dir=C:/jBOSS/EAP70 -Djboss.bind.address.management=localhost
工作目录: C:/ jBOSS / EAP70 / bin
主要课程: org.jboss.modules.Main
Classpath:(bootstrap)JRE系统库+(用户条目)jboss-modules.jar
如果你很想知道诀窍在哪里:在长java命令行中,主要java类有一个分离要启动,其中“VM参数”位于右侧它,以及左侧的“程序参数”。您可以使用Windows上的Microsoft sysinternals process-explorer 等工具捕获在域模式下启动服务器的实际完整java命令行,或者在您拥有后使用LINUX中的pargs
shell命令捕获通过domain.bat
或domain.sh
启动了jBOSS。
但是你会在这里看到java命令采用“-jar 模块 .jar”参数,而Eclipse启动需要传统的“-cp 模块 .jar 主要类“参数形式。 '-jar'参数确实是一个变体规范,其中主类由jar中的manifest文件指定。
就我而言,(非常长的)命令行是:
C:\jBOSS\EAP70\bin>"C:\Program Files\Java\jre1.8.0_66\bin\java" -Xms64M -Xmx512M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -server "-Dorg.jboss.boot.log.file=C:\jBOSS\EAP70\domain\log\process-controller.log" "-Dlogging.configuration=file:C:\jBOSS\EAP70\domain\configuration/logging.properties" -jar "C:\jBOSS\EAP70\jboss-modules.jar" -mp "C:\jBOSS\EAP70\modules" org.jboss.as.process-controller -jboss-home "C:\jBOSS\EAP70" -jvm "C:\Program Files\Java\jre1.8.0_66\bin\java" -mp "C:\jBOSS\EAP70\modules" -- "-Dorg.jboss.boot.log.file=C:\jBOSS\EAP70\domain\log\host-controller.log" "-Dlogging.configuration=file:C:\jBOSS\EAP70\domain\configuration/logging.properties" -Xms64M -Xmx512M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -server -- -default-jvm "C:\Program Files\Java\jre1.8.0_66\bin\java"
打破如下:
JAVA_COMMAND>> "C:\Program Files\Java\jre1.8.0_66\bin\java"
VM_ARGS_____>> -Xms64M -Xmx512M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -server "-Dorg.jboss.boot.log.file=C:\jBOSS\EAP70\domain\log\process-controller.log" "-Dlogging.configuration=file:C:\jBOSS\EAP70\domain\configuration/logging.properties"
MAIN_CLASS__>> -jar "C:\jBOSS\EAP70\jboss-modules.jar" >>EQUIVALENT>> -cp "C:\jBOSS\EAP70\jboss-modules.jar" org.jboss.modules.Main
PROGRAM-ARGS>> -mp "C:\jBOSS\EAP70\modules" org.jboss.as.process-controller -jboss-home "C:\jBOSS\EAP70" -jvm "C:\Program Files\Java\jre1.8.0_66\bin\java" -mp "C:\jBOSS\EAP70\modules" -- "-Dorg.jboss.boot.log.file=C:\jBOSS\EAP70\domain\log\host-controller.log" "-Dlogging.configuration=file:C:\jBOSS\EAP70\domain\configuration/logging.properties" -Xms64M -Xmx512M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -server -- -default-jvm "C:\Program Files\Java\jre1.8.0_66\bin\java"
从理解这个非常令人惊讶的程序参数部分来复制许多JVM基础之后,您可以在Eclipse启动配置中映射这些部分。不要忘记“-jar C:\ jBOSS \ EAP70 \ jboss-modules.jar”在'-cp时变为“-cp C:\ jBOSS \ EAP70 \ jboss-modules.jar org.jboss.modules.Main”。 ..'然后是最后一段VM参数,“org.jboss.modules.Main”是在“Main”选项卡下定义的一个类。