Java 将域模式下的JBoss7服务器添加到Eclipse

Java 将域模式下的JBoss7服务器添加到Eclipse,java,eclipse,jboss7.x,java-ee-6,Java,Eclipse,Jboss7.x,Java Ee 6,我可以在独立模式下将JBoss 7添加到eclipse,但当我尝试在域模式下添加JBoss 7服务器时,配置文件的路径总是由eclipse相对于独立文件夹解析。所以,如果我把它放在domain.xml的完整路径中,它就不存在了;我不喜欢它,如果我只是把它的文件名轮胎解决它独立 有什么想法吗 谢谢 w当前不受支持 资料来源:&确实没有正式支持。。。但是有一种方法可以从Eclipse启动和停止它,这样您就可以在Eclipse控制台中享受所有服务器日志和启动/停止图标。但是,您将无法从“运行方式->在

我可以在独立模式下将JBoss 7添加到eclipse,但当我尝试在域模式下添加JBoss 7服务器时,配置文件的路径总是由eclipse相对于独立文件夹解析。所以,如果我把它放在domain.xml的完整路径中,它就不存在了;我不喜欢它,如果我只是把它的文件名轮胎解决它独立

有什么想法吗

谢谢
w

当前不受支持


资料来源:&

确实没有正式支持。。。但是有一种方法可以从Eclipse启动和停止它,这样您就可以在Eclipse控制台中享受所有服务器日志和启动/停止图标。但是,您将无法从“运行方式->在服务器上运行”中获益,因为Eclipse不会在process server、主机控制器和主服务器实例中识别您的目标服务器。不过,也有一个补救办法,因为EAP7支持针对Eclipse/Maven构建目录的分解归档的“非托管部署模式”,允许您使用JBoss cli或JBoss管理控制台的enable/disable命令“刷新”部署的归档(JBoss不会检测。类更改和触发类加载器重新加载…您必须强制执行)。切丽,如果您碰巧使用GWT web前端技术,您将在域模式服务器实例中

以下是如何继续:

  • 我假设您已经在Eclipse中安装了

  • 在独立模式的“服务器”视图中创建一个“新服务器”,并创建一个JBoss,该JBoss将域作为服务器基目录,将domain.xml作为配置文件。填写其余内容并保存。因此,此服务器无法正常启动

  • 选择刚刚创建的服务器并右键单击“打开”。在填充Eclipse主窗口的概览面板中,单击带下划线的“打开启动配置”链接

  • 您需要调整启动配置以匹配domain.bat/domain.sh的实际启动。因此,您需要更新长程序和VM参数,如下所述。请编辑下面所示的所有路径字符串以匹配您环境的路径字符串,例如“/jBOSS/EAP70/domain”可能变为“/projects/jb/as7/domain”在你的背景下……等等

  • 不要忘记签出“始终更新与运行时相关的参数”选项

程序参数:

-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"
-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
VM参数:

-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"
-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(当然,您可以根据上下文中的等效路径调整值)

Main类:org.jboss.modules.Main

类路径:(引导)JRE系统库+(用户条目)jboss-modules.jar

您已经完成了。请注意,要停止服务器,服务器的查看红色停止按钮将不起作用,您必须在控制台视图中使用外观类似的红色按钮(这将终止在控制台中启动的实时java进程,这里是JBoss进程控制器,它将停止一切)

如果你想知道诀窍在哪里…(继续阅读)

在长的java命令行中,围绕要启动的主java类有一个分隔,其中“VM参数”位于命令行的右侧,而“程序参数”位于命令行的右侧在您使用domain.bat或domain.sh启动jBOSS后,您可以使用Windows上Microsoft sysinternals的process explorer或LINUX/UNIX中的“ps-eaf”或“pargs”shell命令捕获在域模式下启动服务器的实际完整java命令行

但您会注意到,java命令采用“-jar module.jar”参数,而Eclipse启动需要传统的“-cp module.jar main class”参数形式。“jar”参数实际上是一个变体规范,其中主类由jar中的清单文件指定

在我的例子中,我从经典的domain.sh或domain.bat启动中捕获的(很长)命令行是:

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" 
其等价物被重写(查看jboss modules.jar的清单):

然后是最后一个区块:

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"

从这一点上,您可以理解这个相当令人惊讶的程序参数部分,它复制了许多VM aguments(因为启动的进程控制器必须使用这些参数调用服务器JVM…),然后可以在Eclipse服务器启动配置中映射这些部分。

如果要在域模式服务器实例中调试部署,请参阅