1、修改JBoss启动配置打开JBOSS_HOME/bin目录下的run.conf文件,找到:#JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"将其修改为:JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"其中:8787为调试的端口号;2、启动JBoss./run.sh -b192.168.1.x其中192.168.1.x是Jboss所在机器的ip;3、新建调试配置在Eclipse中,打开菜单“run”-〉“debug...”;在出现的对话框中,选择“Remote Java Application”,右键单击,在弹出的菜单中选择“New”,在出现的对话框的“host”中输入Jboss服务器的ip(192.168.1.x),在“port”中输入调试的端口号(8787),选择“debug”开始调试;4、调试在出现的“debug view”中,打开需要调试的Java源文件,设置相应的断点就可以了;
1. WildFly8启动参数研究我们在Linux操作系统下,启动WildFly8,然后查看其进程信息。1.1 启动 WildFly8我们用下面绿色命令启动WildFly8:-bash-4.1$ ./standalone.sh========================================================================= JBoss Bootstrap Environment JBOSS_HOME: /home/ems/jboss/wildfly-8.0.0.CR1 JAVA: /usr/java/jdk1.7.0_13/bin/java JAVA_OPTS: -server -XX:+UseCompressedOops -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true=========================================================================15:35:02,533 INFO [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final15:35:03,399 INFO [org.jboss.msc] (main) JBoss MSC version 1.2.0.CR1...1.2 查看WildFly8进程信息我们用下面绿色命令查看WildFly8进程信息:-bash-4.1$ ps -ef|grep javaems 19350 19296 45 15:35 pts/1 00:00:08 /usr/java/jdk1.7.0_13/bin/java -D[Standalone] -server -XX:+UseCompressedOops -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Dorg.jboss.boot.log.file=/home/ems/jboss/wildfly-8.0.0.CR1/standalone/log/server.log -Dlogging.configuration=file:/home/ems/jboss/wildfly-8.0.0.CR1/standalone/configuration/logging.properties -jar /home/ems/jboss/wildfly-8.0.0.CR1/jboss-modules.jar -mp /home/ems/jboss/wildfly-8.0.0.CR1/modules org.jboss.as.standalone -Djboss.home.dir=/home/ems/jboss/wildfly-8.0.0.CR1 -Djboss.server.base.dir=/home/ems/jboss/wildfly-8.0.0.CR1/standaloneems 19460 19435 0 15:35 pts/2 00:00:00 grep java1.3 WildFly8进程信息分析根据1.2的结果,我们可以看到 该命令可以大致分为以下几段:java ${VM_ARGUMENTS} -jar /home/ems/jboss/wildfly-8.0.0.CR1/jboss-modules.jar ${PROGRAM_ARGUMENTS}${VM_ARGUMENTS}:虚拟机参数:-D[Standalone] -server -XX:+UseCompressedOops -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Dorg.jboss.boot.log.file=/home/ems/jboss/wildfly-8.0.0.CR1/standalone/log/server.log -Dlogging.configuration=file:/home/ems/jboss/wildfly-8.0.0.CR1/standalone/configuration/logging.properties${PROGRAM_ARGUMENTS}:程序参数:-mp /home/ems/jboss/wildfly-8.0.0.CR1/modules org.jboss.as.standalone -Djboss.home.dir=/home/ems/jboss/wildfly-8.0.0.CR1 -Djboss.server.base.dir=/home/ems/jboss/wildfly-8.0.0.CR1/standalone简而言之,就是利用 java 虚拟机运行 /home/ems/jboss/wildfly-8.0.0.CR1/jboss-modules.jar。java运行jar包,本质是运行这个jar包中 META-IN/MANIFEST-MF 文件所定义的Main-Class:Main-Class: org.jboss.modules.Main到这里,读者是否已经知道如何用Eclipse调试WildFly8了呢?2. 用Eclipse调试WildFly8根据我们在上面的研究,我们执行如下步骤来调试WildFly8。2.1 创建"Debug Configurations"点击Eclipse工具条上的 调试按钮(图标是一只虫子)边上的向下的箭头,这将显示一个下拉列表。下拉列表中,选择"Debug Configurations..."项,这将打开"Debug Configurations"窗口。 在 "Debug Configurations"窗口的左侧,右键选中"Java Application",然后点击弹出菜单中的“New”,这将创建一个“New_Configuration”。 选中这个“New_Configuration”,右侧就会显示它的一些初始配置。我们下面对它进行一些修改。2.2 配置新建的"Debug Configurations"2.2.1 Main标签页Name:改成你期望的名字,比如:"wildfly8_debug" / “wildfly8-CR1_debug”Main Class:输入org.jboss.modules.Main 2.2.2 Arguments标签页Program arguments:将上面的 ${PROGRAM_ARGUMENTS} 指代的内容拷贝进来。VM arguments:将上面的 ${VM_ARGUMENTS} 指代的内容拷贝进来。 2.2.3 Classpath标签页选中"Bootstrap Entries"或者"User Entries"点击右侧的“Add External JARs...”在弹出的"Jar Selection"窗口中,选择 /home/ems/jboss/wildfly-8.0.0.CR1/jboss-modules.jar。 2.2.4 应用上述修改点击"Debug Configurations"窗口底部的"Apply"按钮,应用上述修改。2.3 启动"Debug Configurations"点击"Debug Configurations"窗口底部的"Debug"按钮,我们就可以看到,Eclipse就开始调试 wildfly8 了。