解决掉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:没有去研究它里面的本身的加密为什么错误:(,因为我也想过五一节,而且现在还没有吃饭:(