這是一個關於討論配置和調試在應用程序服務器上運行而不使用MyEclipse服務器啓動鏈接器的應用程序的高級教程,不管MyEclipse是在 同一臺計算機上運行或是在不一樣的計算機上運行均可。對於通常易於配置和調試的應用程序,強烈建議MyEclipse服務鏈接器可用於應用服務器中的全部服 務器操做詳細教程。在執行本教程以前,請仔細閱讀它。web
有時候可能使用MyEclipse的鏈接器來啓動應用程序服務器是不方便的。例如,你可能須要對集成開發環境中的實例進行遠程調試;或者你的服務器 啓動腳本可能被修改或決定將其做爲開發過程的一部分,因此你根本不可能改變外部服務器的管理措施,最後MyEclipse可能根本不支持你須要特定調試的 服務器。若是你正在面臨這樣一些問題,本教程將會告訴你若是作到如下幾點:服務器
要用MyEclipse來調試你的外部啓動服務器,你須要配置應用程序,而後啓動服務器來使外部調試器經過JPDA可以控制它。本節介紹如何配置任意應用服務器來進行遠程調試,同時提供了幾個具體實例來講明服務器的基礎知識。併發
要配置一個Java應用程序(包括服務器)來用於遠程調試,那麼一些額外的Java虛擬機選項必須指定。因此遠程調試選項的完整文檔以及定義和實 例,能夠直接從Sun公司獲取。總之,虛擬機必須知道啓動調試的模式和監聽一個特定端口的調試器鏈接。所須要的命令行選項實例以下所示。dom
調試選項 | 選項說明 |
-Xdebug | 啓用調試 |
-Xrunjdwp: transport=dt_socket, address=8000, server=y, suspend=n |
運用這些選項運行JDWP調試: 使用套接字通訊 監聽端口8000的調試器鏈接 監聽一個應用程序的調試器鏈接 不要讓調試器在調試前等待繼續鏈接 |
根據你的操做系統平臺,啓動一個weblogic.cmd或startweblogic.sh腳本,做爲從命令行啓動的一個應用實例。該腳本讀取名 爲JAVA_OPTIONS的環境變量,並添加specifed做爲啓動WebLogic調用腳本時的參數設置。在Windows中,這是能夠經過打開 cmd.exe併發出如下命令作到的:eclipse
cd serverbinsocket
setJAVA_OPTIONS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n工具
.startWebLogic.cmdspa
用你的BEA主文件夾的實際位置上面的路徑來替換,其餘版本的WebLogic能夠以相似的方式來啓動。服務器已經徹底啓動以後,它能夠被鏈接和控制到MyEclipse中,如第3節中所描述的那樣。操作系統
根據你的操做系統平臺,調用一個名爲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節中所描述的那樣。
根據你的操做系統平臺,調用一個名爲asadmin.bat或asadmin.sh的腳本,用來在命令行中啓動Sun Java系統應用服務器第8版本實例。若是你的服務器域名啓動後,名爲domain.xml的配置文件將被讀取。domain.xml中包含能夠手動設置 啓動遠程調試的其餘JVM啓動選項,編輯domain.xml文件,以下圖所示,而後啓動服務器並以管理員命令啓動遠程調試。
Edits to domain.xml that allow for remote debugging
當服務器徹底啓動以後,它能夠被鏈接和控制到MyEclipse中,如第3節中所描述的那樣。
根據你的操做系統平臺,調用一個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節中所描述的那樣。
MyEclipse中提供了一個集成的部署管理工具,在開發系統時能夠包裝和部署你的應用程序的任何文件系統。應用程序部署的基礎知識都在Web開發與企業發展快速入門中有述,由於這是一個高級教程,假設你很熟悉這些教程詳細的部署操做。
當部署到一個標準的MyEclipse啓動應用服務器時,部署位置是經過基於服務器類型和部署方法選擇的MyEclipse自動設置。用於遠程服務器部署的,有一個"" 服務器類型,其容許部署位置的完整規範。
Specifying the remote deployment location
配置完成以後,遠程部署的表現和標準配置同樣,因此分解部署和項目資源的變化繼續自動同步。請記住,由於你要部署到自定義位置,因此你有責任確保你的應用程序服務器加載的是所選位置的應用程序。
當應用程序部署和服務器遠程調試配置好之後,你能夠隨時啓動服務器。
MyEclipse中提供了一個特殊的調試啓動配置—MyEclipse外部啓動服務器,專門爲鏈接遠程應用服務器和支持完整的應用程序調試而設計。爲你的外部服務器建立一個啓動配置,單擊調試工具欄上相應圖標的下拉箭頭,而後選擇調試配置菜單。
打開調試配置窗口,選擇MyEclipse外部啓動服務器,而後單擊新建啓動配置圖標,建立用於鏈接到應用服務器的調試啓動配置。
Creating a new remote debug configuration
下圖顯示了一個JBoss 4的遠程調試配置示例,任何服務器的設置相似。
Example JBoss configuration
當源查找路徑默認爲你的調試項目時,你能夠從配置的源頁面添加其餘源查找的位置。
Configuring the source lookup path
在配置了新的啓動配置後,若是你的遠程服務器已經運行並監聽調試鏈接,你能夠關閉它之後使用單擊"調試"按鈕。應用程序服務器和外部調試配置被啓動後,一個新的調試進程將在調試視圖中顯示。
注意:調試視圖不會自動顯示,所以你須要換到調試的視角來看,或手動打開查看。
External server attached to debugger
此時,若是你使用內置的MyEclipse服務鏈接器來啓動一個本地的服務器時,調試應用程序會是同樣的。