Eclipse插件之WebLogic Plugin 200.docx
《Eclipse插件之WebLogic Plugin 200.docx》由会员分享,可在线阅读,更多相关《Eclipse插件之WebLogic Plugin 200.docx(17页珍藏版)》请在冰豆网上搜索。
![Eclipse插件之WebLogic Plugin 200.docx](https://file1.bdocx.com/fileroot1/2023-1/10/4b0e9e9b-8ce0-41a0-932f-1bb0ced711d8/4b0e9e9b-8ce0-41a0-932f-1bb0ced711d81.gif)
Eclipse插件之WebLogicPlugin200
Eclipse插件之WebLogicPlugin2.0.0
2008-11-3013:
03
本文介绍如何利用Eclipse插件WebLogicPlugin在Eclipse中的使用。
Eclipse是目前非常流行的开发平台,开放扩展的架构让很多程序员找到了自己个性化的工作环境。
问题提出:
WebLogic目前是使用比较多的应用服务器之一,Eclipse是流行的IDE,如何集成起来开发使用呢?
解决方法:
采用BEA提供的WebLogicPlugin来进行集成开发。
安装
JDK:
1.4.2或1.5.0从上去下载安装,如果是WebLogic8.X.X系列的版本,应当选用JDK1.4.2的版本。
Eclipse:
3.1.2从http:
//www.eclipse.org上去下载解压
WebLogicPlugin从https:
//eclipse-
技巧Eclipse使用技巧之插件管理
提示:
新下载的插件PlugIn一定不要都放在原始的Eclipse目录下去,一大堆,累死你。
前提是你已经安装好了Eclipse工具了,比如安装在E:
\OpenSource\Eclipse\目录下,以下这个目录以%ECLIPSE_HOME%来进行表示;
此时默认的插件是在%ECLIPSE_HOME%\plugins目录中的;
在%ECLIPSE_HOME%下建立一个PlugInsNew的目录;比如:
E:
\OpenSource\Eclipse\PlugInsNew\
你下载了个新的插件,比如叫做:
XYZ
那么就在%ECLIPSE_HOME%\PlugInsNew\目录下建立XYZ目录,目录里面是eclipse目录,eclipse目录包含有features与plugins两个子目录;结构如下图所示:
把下载的新插件的文件放在以下相应目录中
%ECLIPSE_HOME%\PlugInsNew\XYZ\eclipse\features
%ECLIPSE_HOME%\PlugInsNew\XYZ\eclipse\plugins
建立相关的.link的文件
然后在%ECLIPSE_HOME%\links目录里建立一个XYZ.link的文件
内容如是:
path=E:
/OpenSource/Eclipse/PlugInsNew/XYZ就一行这样的路径指示而已。
这样,如果你下载了多个插件就可以如法炮制建立多个Link文件,想加载哪个插件就把哪个插件的Link文件放到%ECLIPSE_HOME%\links的目录中即可,使用与管理都很方便,建议千万不要放在默认的安装目录中;
如果你的%ECLIPSE_HOME%与此不同,请修改XYZ.link文件里的路径
删除,关闭Eclipse
删除%ECLIPSE_HOME%\links\XYZ.link文件即可
删除%ECLIPSE_HOME%\PlugInsNew\XYZ整个目录及文件
重新启动Eclipse即可使用
WebLogicPlugin现在有两个版本1.1.1和2.0.0。
1.1.1只是能够配置一台服务器,并只提供启动停止服务器的功能,没有Redeploy、Undeploy;2.0.0可以配置多台,可以Redepoly、Undeploy,不过没有Deploy功能,而且还有一大BUG,就是只是每次重启Eclipse要重新设置一下用户与密码即可。
对1.1.1感兴趣的朋友,可以查看:
WebLogicPlugin2.0.0功能
∙启动、停止WebLogic服务器
∙利用JDT为高度J2EE的应用程序
∙选择WebLogic域
∙配置WebLogic服务器的启动参数
要求
∙EclipseSDK2.0.0或更高的版本
∙WebLogicServer6.0或更高的版本
安装
插件安装方法有两种方式:
∙一种就是采用上一节的《Eclipse使用技巧之插件管理》
∙另一种就是通过UpdateManager的形式来下载安装
地址是:
https:
//eclipse-
安装步骤如下:
HelpèSoftwareUpdatesèFindandInstall…
配置WebLogicPlugin
∙菜单WindowsèPreferences,然后选中WebLogic节点可以看到右边配置的服务器实例列表,可以增加、修改、删除相应的服务器配置。
∙现在开始增加服务器配置,在General标签设置以下各个参数
o设置服务器配置的显示名称
o选择你的WebLogicServer的版本
o设置BEAHome的目录
o设置WebLogicHome的目录
o设置Domain的名称
o设置Domain的目录
o设置Server的名称
o设置Host机器名称或IP,本机填localhost即可(weblogic.Admin使用的)
o设置端口号(weblogic.Admin使用的)
o设置SSL端口号(weblogic.Admin使用的),注意:
这个要先在控制台http:
//localhost:
7001/console/里先设置好才行,要不然保存时检测不到就保存不了。
o设置管理员名称(是有权限启动这个Server的用户名称如默认的weblogic)
o设置密码
∙在Classpath配置标签栏里,可以设置如下参数:
oPre-startupWebLogicClasspath,是设置在WebLogic类库加载之前要先加载的一些类库
oProst-startupWebLogicClasspath,是设置在WebLogic类库加载之后才要开始进行加载的一些类库
注意是先后顺序的不同,根据你的项目需要进行设置之,重新启动Eclipse后,在java.class.path=的前与后会增加进来你设置的这些Classpath
∙在Runtime配置标签栏里,可以设置如下参数
oJRE(选择用来启动WebLogicServer所要用到的JDK,这个可以在菜单WindowèPreferencesèJavaèInstalledJREs里进行配置的,上面说过了,要注意根据你的WebLogic的版本选择其相应支持的JDK方可。
oVMArauments(设置传递给JavaVM的参数,如最大与最小堆栈大小,以什么模式启动WebLogicServer,本例我们假设以产品模式启动)
oJNILibraryPath(设置要加载JNI时的搜索路径)
oRunMode(设置以产品模式还是开发模式进行启动WebLogicServer)
∙菜单WindowsèShowViewèOther…
可以看到WebLogic分类下面有WebLogicServers菜单项,选择并打开它。
这样可以在这里进行启动、停止WebLogicServer等操作。
∙选中WebLogic下的Project节点,并进行如下参数的设置
Projectaddedtotheendoftheclasspath,通过Add按钮,可以选择你所要加载的项目,这样所选中的项目里所有的类库量也会自动地加进来的,不过它的加载顺序是在Classpath的最后面。
启动WebLogic服务器
∙在打开的视图中,右键,选择Start就可以启动WebLogicServer了
在控制台会有如下的启动信息显示:
显示启动成功。
在这里也可以进行增加其它WebLogicServer的配置,如下:
修改WebLogicServer的配置
删除WebLogicServer的配置
也可以查看相应的帮助文档,如下:
打开WebLogicPlugin的帮助文档进行查阅,可惜没有看到。
停止WebLogic服务器
∙在打开的视图中,右键,选择Stop就可以停止WebLogicServer了
在控制台会有如下的停止信息显示:
部署、重新启动、停止应用程序
部署应用:
只能通过浏览器去部署新的应用,没有找到这里可以直接进行部署的地方。
重新启动:
假如我们通过浏览器或其它控制端部署了一个WebApplication上去了。
这时,通过插件停止WebLogic,再启动它后,双击展现WebAppplicationModules,可以在下面看我们部署上去的应用了。
不过,而慢进行停止再启动。
可以直接通过插件提供的刷新功能就会把部署上去的模块展现出来,如下:
这时,要重新启动应用程序的话,只要在应用名称上面右键,在弹出的菜单中选择Redeploy即可重新部署应用了,速度很快的。
删除应用程序的话,只要在应用名称上面右键,在弹出的菜单中选择Undeploy即可删除应用了,模块名称立马消失,速度很快的,要重新部署又得通过浏览器或其它控制端来完成了。
总结
此插件的功能给予我们方便地集成Eclipse与WebLogic的开发使用,提高了效率。
Bug一个,大家要注意。
关闭Eclipse之后重新启动Eclipse后,这时要启动WebLogic会发现以下错误而启动不了,郁闷了吧:
)
<Critical>
<Security>
<BEA-090402>
<Authenticationdenied:
Bootidentitynotvalid;
Theusernameand/orpasswordfromthebootidentityfile
(boot.properties)isnotvalid.Thebootidentitymayhavebeenchanged
sincethebootidentityfilewascreated.Pleaseeditandupdate
thebootidentityfilewiththepropervaluesofusernameandpassword.
Thefirsttimetheupdatedbootidentityfileisusedtostarttheserver,
thesenewvaluesareencrypted.>
***************************************************************************
TheWebLogicServerdidnotstartupproperly.
Reason:
weblogic.security.SecurityInitializationException:
Authenticationdenied:
Bootidentitynotvalid;
Theusernameand/orpasswordfromthebootidentityfile(boot.properties)isnotvalid.
Thebootidentitymayhavebeenchangedsincethebootidentityfilewascreated.
Pleaseeditandupdatethebootidentity
filewiththepropervaluesofusernameandpassword.
Thefirsttimetheupdatedbootidentityfileisusedtostarttheserver,
thesenewvaluesareencrypted.
***************************************************************************
不过解决的办法也简单,看到下图的信息了吧,这个插件在对用户进行存取的时候出了问题,导致错误的,你每次重新启动Eclipse后,要修改一下WebLogic的配置文件,把里面的用户名用密码再保存后才行的。
后记
文章写完后,我又修复了上述的BUG,这里重点再阐述一下解决过程:
解压、反编译、替换加密方法、编译、重打包、关闭Eclipse、覆盖、重启:
)
1、WebLogicPlugin2.0.0的配置文件保存在
%ECLIPSE_HOME%\workspace\.metadata\.plugins\com.bea.weblogic.eclipse\目录下
dialog_settings.xml是保存配置对话框的大小之类的文件
servers.xml是保存服务器配置信息的文件
解压出weblogic-eclipse.jar里的所有文件
反编译com\bea\weblogic\eclipse\utils\XMLUtil.class得到XMLUtil.java
在里面增加两个函数
/**
*将source进行BASE64编码
*
*@paramsource
*@return
*/
publicstaticStringbuildBASE64(Stringsource)
{
if(source==null)
{
returnnull;
}
return(newsun.misc.BASE64Encoder()).encode(source.getBytes());
}
/**
*将BASE64编码的字符串base65code进行解码
*
*@parambase65code
*@return
*/
publicstaticStringgetFromBASE64(Stringbase65code)
{
if(base65code==null)
{
returnnull;
}
BASE64Decoderbase64decoder=newBASE64Decoder();
try
{
byte[]b=base64decoder.decodeBuffer(base65code);
returnnewString(b);
}
catch(Exceptione)
{
e.printStackTrace();
returnnull;
}
}
在publicIServerInstall[]loadServers(FileserversFile)函数里修改
cServerInstall.setUsername(CryptoUtil.getDefault().decrypt(newString(Base64Util.base64ToByteArray(getNodeValue(cElement))),id));
为
cServerInstall.setUsername(getFromBASE64(getNodeValue(cElement)));
修改
cServerInstall.setPassword(CryptoUtil.getDefault().decrypt(newString(Base64Util.base64ToByteArray(getNodeValue(cElement))),id));
为
cServerInstall.setPassword(getFromBASE64(getNodeValue(cElement)));
在publicvoidsaveServers(IServerInstallservers[],FileserversFile)函数里修改
org.w3c.dom.TextusernameText=doc.createTextNode(Base64Util.byteArrayToBase64(CryptoUtil.getDefault().encrypt(cServer.getUsername(),cServer.getId()).getBytes()));
为
org.w3c.dom.TextusernameText=doc.createTextNode(buildBASE64(cServer.getUsername()));
修改
org.w3c.dom.TextpasswordText=doc.createTextNode(Base64Util.byteArrayToBase64(CryptoUtil.getDefault().encrypt(cServer.getPassword(),cServer.getId()).getBytes()));
为
org.w3c.dom.TextpasswordText=doc.createTextNode(buildBASE64(cServer.getPassword()));
编译这个XMLUtil.java得到XMLUtil.class,把XMLUtil.class打回weblogic-eclipse.jar包里
关闭Eclipse
把weblogic-eclipse.jar覆盖掉原来插件目录里的文件
重新启动Eclipse
Enjoy...