現在Eclipse使用的比較多,而其功能的可擴展性也是超級強大,可以將多種工具和開發技術通過插件包的形式融合進來。這裏說一下怎麼通過RMI Plugin在Eclipse裏面調試RMI程序。
一、準備安裝包
Eclipse的下載地址這裏就不說了。這裏提供RMI Plugin for Eclipse 的下載地址: http://www.genady.net/rmi/v20/downloads.html
破解版下載地址:http://crackdb.com/get_87578_RMI.Plugin.for.Eclipse.v2.0.2.1_crack.html (若鏈接失效,請請自行google文件全名)我們下載適合eclipse3.1.x和3.2.x的2.0.2.1版本,得到net.genady.rmi_2.0.2.1.zip安裝包。 這裏使用的是Eclipse3.4.1版本(還未發現使用有問題)。
二、安裝插件包
解壓縮安裝包net.genady.rmi_2.0.2.1.zip,將解壓後得到的features和plugins文件夾拷貝至Eclipse安裝根目錄下,覆蓋原有文件夾(若爲破解版,請按照內置的說明文件進行配置)。
啓動Eclipse(如果已經啓動,請重新啓動Eclipse),這時在工具欄上會發現多了一個工具圖標,裏面有Registry的管理選項,這個就是RMI Registry的管理器。說明已經安裝成功了。
三、設置開發環境
在安裝好插件包後,我們來設置RMI開發環境。 啓動Eclipse,在菜單window->preferences對話框中,選中左邊樹菜單java->rmi,右邊窗口會出現RMI Plugin的默認設置信息。
最上面的Path to RMI registry設置java的RMI Registry的路徑,如這裏設置的是C:/Program Files/Java/jdk1.5.0_05/bin/rmiregistry.exe,一般不用管它。下面的一個框是RMI的服務端口,默認是 1099,這個類似tomcat的服務端口8080一樣,鏈接的時候需要找到對應的端口才能鏈接上。其實RMI的最低層是socket。
這裏需要特別指出的是RMI Plugin是個收費的Eclipse插件,有20天的免費試用期。而RMI屬性中最大的窗口就是填使用授權信息的。
開發環境到這裏也只是基本的設計完成,其他的還要在具體的項目中進行設置,下面我們就開發一個簡單的演示項目。
四、開發演示項目
這裏偷一下懶,引用別人的一篇文章的實例,大家可以比照在eclipse中創建該項目;也可以順便了解一下RMI的基本機制,和不用工具的開發方法。
文章地址: http://www.inspiresky.com/bbs/dispbbs.asp?boardID=22&ID=1687&page=1
這裏採用第五樓文章中的例子。如果你對RMI沒有什麼太多瞭解請一定先看此文章。 這裏我們一步一步來在eclipse中創建我們的演示項目:
1、啓動eclipse,新建項目
菜單file->new->projects->java projects,點擊next,projects name 爲RMITest。其他默認,點擊next,點擊finish。OK,新項目建成。
2、新建服務器包
左邊樹中右鍵項目RMITest,new->package,新建包com.inspiresky.rmi.server。
3、創建遠程對象接口類
右鍵點擊剛纔創建的包,new->Interface,新建接口I_Hello。然後編輯我們新建的接口,代碼如下所示:
package com.inspiresky.rmi.server;
import java.rmi.Remote;
import java.rmi.RemoteException;
/*
* Junsan */
public interface I_Hello extends Remote{ public String SayHello() throws RemoteException; }
4、定義一個實現該接口的類
右鍵點擊剛纔創建的包,new->class,新建類文件Hello。然後編輯我們新建的接口,代碼如下所示:
package com.inspiresky.rmi.server;
import java.rmi.RemoteException; import java.rmi.server.UnicastRemoteObject;
/*
* Junsan
*/
public class Hello extends UnicastRemoteObject implements I_Hello{
private static final long serialVersionUID = -8868676826752697887L;
public Hello() throws RemoteException
{
}
public String SayHello() //這個是實現I_Hello接口的方法
{
return "Hello world !!";
}
}
好了到此,已經完成了主要服務對象的編寫工作。
5、生成程序的存根文件
右鍵點擊工程名稱RMITest,RMI->Enable Stubs Generations。選中後,在我們工程文件夾RMITest/bin下的相應的包中com/inspiresky/rmi/server下就自動生成了Hello_Stub.class類。
6、創建RMI服務器類
同4中的過程,新建類RMI_Server,並編輯器代碼爲:
package com.inspiresky.rmi.server;
import java.rmi.Naming;
/*
* Junsan
*/
public class RMI_Server {
public RMI_Server() {
}
public static void main(String[] args) {
try {
Hello hello = new Hello();
Naming.rebind("RMI_Hello", hello);
System.out.println("=== Hello server Ready === ");
} catch (Exception exception) {
exception.printStackTrace();
}
}
}
7、新建客戶端包
方法同2,包名com.inspiresky.rmi.client。
8、創建客戶端
在新建的包中同4過程,創建類RMI_Client。並編輯代碼如下:
package com.inspiresky.rmi.client;
import java.rmi.Naming;
import com.inspiresky.rmi.server.I_Hello;
/*
* Junsan
*/
public class RMI_Client {
public RMI_Client() {
super();
}
public static void main(String[] args) {
try {
I_Hello hello = (I_Hello) Naming.lookup("RMI_Hello");
System.out.println(hello.SayHello());
} catch (Exception e) {
e.printStackTrace();
}
}
}
OK,到這裏我們就可以準備調試運行我們的程序了。
五、運行調試項目
在運行之前需要進行一下設置,否則,會提示錯誤信息,說找不到stub類。
1、啓動RMIRegistry
Eclipse菜單window->show view->others,在彈出菜單中選擇RMI Views->RMI Registry Inspector,這是會多出來一個窗口,這裏可以顯示已經註冊的RMI應用。
點擊工具條上的RMI Plugin圖標,在菜單中選擇Start Local Registry。
注意這個只需要啓動一次,除非你把它關掉。
2、配置運行RMI服務
右鍵點擊左邊樹中的RMI_Server.java文件,菜單Debug As ->RMI Application。在彈出對話框中找到RMI Properties標籤頁。
這時這裏前兩項顯示紅色。
選中java.security.police項的value框,點擊選擇按鈕會出現文件選擇對話框,我們這裏設置成C:/Program Files/Java/jre1.5.0_05/lib/security/java.security。就是jre的安全策略配置文件,要選擇成泥當前用的jdk的側略文件。
選中第二項java.rmi.server.codebase的value項,這裏選擇編譯後類包所在的文件夾。點擊選擇按鈕->add按鈕->pick from workspace,選擇當前工程RMITest的bin文件夾。這裏是file:/E:/workspace/RMITest/bin/。
(這裏有點要補充一下,還可以 點擊選擇按鈕->add按鈕->compute from classpath)
點擊apply按鈕。
點擊debug按鈕。
這時Eclipse的console窗口中出現
=== Hello server Ready ===
表示RMI服務已經運行。
3、設置調試信息
打開Hello.java文件,在
return "Hello world !!";
處設置斷點。
4、運行客戶端,調試程序
工程樹中,右鍵點擊RMI_Client.java文件,Run As -> Java Application。
我們點擊後,窗口一閃而過,停止後,會發現光標已經停止在我們設定斷點的地方。這裏程序沒有錯誤,我們按F6鍵繼續,會進入程序下一步的運行文件,調試的時候就是這樣子一步一步調試下去。這裏我們按F8直接運行完代碼,在console窗口中會顯示
Hello world !!
表示程序已經運行成功。
本文來自CSDN博客:http://blog.csdn.net/mudbird/archive/2009/05/06/4155407.aspx
本人測試可行。