解決掉eclipse插件之weblogic plugin 2.0.0的bug
<a href="http://iamin.blogdriver.com/iamin/1176540.html">http://iamin.blogdriver.com/iamin/1176540.html</a>
eclipse插件之weblogic plugin 2.0.0操作說明及bug請見:
<a href="http://iamin.blogdriver.com/iamin/1174442.html">http://iamin.blogdriver.com/iamin/1174442.html</a>
<a href="http://dev2dev.bea.com.cn/bbs/thread.jspa?forumid=124&threadid=34319">http://dev2dev.bea.com.cn/bbs/thread.jspa?forumid=124&threadid=34319</a>
這裡重點說明bug的解決:)
1、weblogic plugin 2.0.0的配置檔案儲存在
%eclipse_home%/workspace/.metadata/.plugins/com.bea.weblogic.eclipse/目錄下
dialog_settings.xml是儲存配置對話框的大小之類的檔案
servers.xml是儲存伺服器配置資訊的檔案
2、解壓出weblogic-eclipse.jar裡的所有檔案
3、反編譯com/bea/weblogic/eclipse/utils/xmlutil.class得到xmlutil.java
在裡面增加兩個函數
/**
* 将 source 進行 base64 編碼
*
* @param source
* @return
*/
public static string buildbase64(string source)
{
if(source == null)
{
return null;
}
return (new sun.misc.base64encoder()).encode(source.getbytes());
}
* 将 base64 編碼的字元串 base65code 進行解碼
* @param base65code
public static string getfrombase64(string base65code)
if(base65code == null)
base64decoder base64decoder = new base64decoder();
try
byte[] b = base64decoder.decodebuffer(base65code);
return new string(b);
catch(exception e)
e.printstacktrace();
4、在public iserverinstall[] loadservers(file serversfile)函數裡修改
cserverinstall.setusername(cryptoutil.getdefault().decrypt(new string(base64util.base64tobytearray(getnodevalue(celement))),id));
為
cserverinstall.setusername(getfrombase64(getnodevalue(celement)));
修改
cserverinstall.setpassword(cryptoutil.getdefault().decrypt(new string(base64util.base64tobytearray(getnodevalue(celement))),id));
cserverinstall.setpassword(getfrombase64(getnodevalue(celement)));
5、在public void saveservers(iserverinstall servers[],file serversfile)函數裡修改
org.w3c.dom.text usernametext = doc.createtextnode(base64util.bytearraytobase64(cryptoutil.getdefault().encrypt(cserver.getusername(),cserver.getid()).getbytes()));
org.w3c.dom.text usernametext = doc.createtextnode(buildbase64(cserver.getusername()));
org.w3c.dom.text passwordtext = doc.createtextnode(base64util.bytearraytobase64(cryptoutil.getdefault().encrypt(cserver.getpassword(),cserver.getid()).getbytes()));
org.w3c.dom.text passwordtext = doc.createtextnode(buildbase64(cserver.getpassword()));
6、編譯這個xmlutil.java得到xmlutil.class,把xmlutil.class打回weblogic-eclipse.jar包裡
7、關閉eclipse
8、把weblogic-eclipse.jar覆寫掉原來插件目錄裡的檔案
9、重新啟動eclipse
10、enjoy...五一節快樂!!!赫赫(^_^)
btw:沒有去研究它裡面的本身的加密為什麼錯誤:(,因為我也想過五一節,而且現在還沒有吃飯:(