注意:此功能在MyEclipse 2015中被重新设计,目前是不可用的。
1. 简介
这是一个关于讨论配置和调试在应用程序服务器上运行而不使用MyEclipse服务器启动连接器的应用程序的高级教程,无论MyEclipse是在同一台计算机上运行或是在不同的计算机上运行都可。对于一般易于配置和调试的应用程序,强烈建议MyEclipse服务连接器可用于应用服务器中的所有服务器操作详细教程。在执行本教程之前,请仔细阅读它。
有时候可能使用MyEclipse的连接器来启动应用程序服务器是不方便的。例如,你可能需要对集成开发环境中的实例进行远程调试;或者你的服务器启动脚本可能被修改或决定将其作为开发过程的一部分,所以你根本不可能改变外部服务器的管理措施,最后MyEclipse可能根本不支持你需要特定调试的服务器。如果你正在面临这样一些问题,本教程将会告诉你如果做到以下几点:
- 配置你的服务器进行远程调试
- 将应用程序部署到服务器
- 使用自定义的Eclipse启动配置你的服务器进行通信
- 在所有服务器上调试你的Java代码
- 调试JSR-045中的JSP兼容服务器
2. 配置服务器的远程调试
要用MyEclipse来调试你的外部启动服务器,你需要配置应用程序,然后启动服务器来使外部调试器通过JPDA能够控制它。本节介绍如何配置任意应用服务器来进行远程调试,同时提供了几个具体实例来说明服务器的基础知识。
要配置一个Java应用程序(包括服务器)来用于远程调试,那么一些额外的Java虚拟机选项必须指定。所以远程调试选项的完整文档以及定义和实例,可以直接从Sun公司获取。总之,虚拟机必须知道启动调试的模式和监听一个特定端口的调试器连接。所需要的命令行选项实例如下所示。
调试选项 | 选项说明 |
---|---|
-Xdebug | 启用调试 |
-Xrunjdwp: | 这些选项运行JDWP调试: |
transport=dt_socket, | 使用套接字通信 |
address=8000, | 监听端口8000的调试器连接 |
server=y, | 监听一个应用程序的调试器连接 |
suspend=n | 不要让调试器在调试前等待继续连接 |
2.1 WebLogic服务器
根据你的操作系统平台,启动一个weblogic.cmd或startweblogic.sh脚本,作为从命令行启动的一个应用实例。该脚本读取名为JAVA_OPTIONS的环境变量,并添加specifed作为启动WebLogic调用脚本时的参数设置。在Windows中,这是可以通过打开cmd.exe并发出以下命令做到的:
cd serverbin
setJAVA_OPTIONS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
.startWebLogic.cmd
用你的BEA主文件夹的实际位置上面的路径来替换,其他版本的WebLogic可以以类似的方式来启动。服务器已经完全启动之后,它可以被连接和控制到MyEclipse中,如第3节中所描述的那样。
2.2 Tomcat服务器
根据你的操作系统平台,调用一个名为catalina.bat或catalina.sh脚本,用来在命令行中启动Tomcat实例。当在调试模式下启动时,脚本将读取JPDA_TRANSPORT和JPDA_ADDRESS两个环境变量,并添加specifed用来启动Tomcat的参数设置。在Windows中,这是可以通过打开cmd.exe并发出以下命令做到的:
cd bin
set JPDA_TRANSPORT=dt_socket
set JPDA_ADDRESS=8000
catalina.bat jpda start
用Tomcat安装文件夹的实际位置上面的路径来替换,其他版本的Tomcat可以以类似的方式来启动。服务器已经完全启动之后,它可以被连接和控制到MyEclipse中,如第3节中所描述的那样。
2.3 Sun Java系统应用服务器8. x版
根据你的操作系统平台,调用一个名为asadmin.bat或asadmin.sh的脚本,用来在命令行中启动Sun Java系统应用服务器第8版本实例。如果你的服务器域名启动后,名为domain.xml的配置文件将被读取。domain.xml中包含可以手动设置启动远程调试的其他JVM启动选项,编辑domain.xml文件,如下图所示,然后启动服务器并以管理员命令启动远程调试。
编辑domain.xml能够进行远程调试
当服务器完全启动之后,它可以被连接和控制到MyEclipse中,如第3节中所描述的那样。
2.4 JBoss服务器
根据你的操作系统平台,调用一个run.bat或run.sh的脚本,作为从命令行启动的一个JBoss实例。该脚本读取名为JAVA_OPTS的环境变量,并添加指定用于启动JBoss调用脚本时的参数设置。在Windows中,这是可以通过打开cmd.exe并发出以下命令做到的:
cdbin
setJAVA_OPTS=-Xdebug-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
.run.bat
用JBoss安装文件夹的实际位置上面的路径来替换,其他版本的JBoss可以以类似的方式来启动。服务器已经完全启动之后,它可以被连接和控制到MyEclipse中,如第3节中所描述的那样。
3. 部署到远程服务器
MyEclipse中提供了一个集成的部署管理工具,在开发系统时可以包装和部署你的应用程序的任何文件系统。应用程序部署的基础知识都在Web开发与企业发展快速入门中有述,因为这是一个高级教程,假设你很熟悉这些教程详细的部署操作。
当部署到一个标准的MyEclipse启动应用服务器时,部署位置是通过基于服务器类型和部署方法选择的MyEclipse自动设置。用于远程服务器部署的,有一个"" 服务器类型,其允许部署位置的完整规范。
指定远程部署位置
配置完成之后,远程部署的表现和标准配置一样,所以分解部署和项目资源的变化继续自动同步。请记住,因为你要部署到自定义位置,所以你有责任确保你的应用程序服务器加载的是所选位置的应用程序。
当应用程序部署和服务器远程调试配置好以后,你可以随时启动服务器。
4. 调试远程服务器
MyEclipse中提供了一个特殊的调试启动配置—MyEclipse外部启动服务器,专门为连接远程应用服务器和支持完整的应用程序调试而设计。为你的外部服务器创建一个启动配置,单击调试工具栏上相应图标的下拉箭头,然后选择调试配置菜单。
打开调试配置窗口,选择MyEclipse外部启动服务器,然后单击新建启动配置图标,创建用于连接到应用服务器的调试启动配置。
创建一个新的远程调试配置
下图显示了一个JBoss 4的远程调试配置示例,任何服务器的设置类似。
JBoss示例的配置
当源查找路径默认为你的调试项目时,你可以从配置的源页面添加其他源查找的位置。
配置源查找路径
在配置了新的启动配置后,如果你的远程服务器已经运行并监听调试连接,你可以关闭它以后使用单击"调试"按钮。应用程序服务器和外部调试配置被启动后,一个新的调试进程将在调试视图中显示。
注意:调试视图不会自动显示,因此你需要换到调试的视角来看,或手动打开查看。
连接到外部调试服务器
此时,如果你使用内置的MyEclipse服务连接器来启动一个本地的服务器时,调试应用程序会是一样的。