為什么在weblogic中beanshell可以執行一般的腳本語句,但是不能引用其他包里面的類的問題.其實這不是beanshell的問題而是weblogic本身已經內置了beanshell類,只不過版本比較老一點.
我們知道系統在引用類的時候是按照在先找到先用的原理調用的,也就是說假如我們在weblogic調用它自己內置的beanshell類之前找到我們設置的beanshell包即可
另外我們在開發web程序的時候需要引用很多的包文件,每次在發布的時候包含這些包文件,程序會變得很大,發布起來很慢.可以按照下面的解決方法解決這類問題,大家假如有更好的方法可以貼出來共同分享.
解決方法如下(以linux為例)
1.建立一個放置常用包的文件夾
比如:/home/web/lib
2.把常用的包放到這個目錄中,比如
mail.jar(可以在Jbuilder8_home/lib/下找到)
jdom.jar(可以在Jbuilder8_home/lib/下找到)
xercesImpl.jar(可以在Jbuilder8_home/lib/下找到 jdom需要使用這個包)
xmlParserAPIs.jar(可以在Jbuilder8_home/lib/下找到 jdom需要使用這個包)
junit.jar(可以在Jbuilder8_home/thirdparty/junit3.8/找到)
rowset.jar(可以到http://developer.java.sun.com/developer/earlyaccess/index.Html下載)
bsh-1.2b7.jar(可以到http://www.beanshell.org下載)
3.建立一個sh腳本(比如setLib)
#!/bin/sh
#****************************************************
# defined the extends lib jar
#****************************************************
EXT_LIB_JAR="/home/web/lib/mail.jar:/home/web/lib/bsh-1.2b7.jar:home/web/lib/junit.jar:/home/web/lib/jdom.jar:/home/web/lib/exercesImpl.jar:/home/web/lib/xmlParserAPIs.jar:/home/web/lib/rowset.jar"
echo ******************************************
echo EXT_LIB_JAR=${EXT_LIB_JAR}
echo ******************************************
4.修改startWeblogic.sh文件
一般最后一行為. "/home/web/bea/weblogic700/server/bin/startWLS.sh"
在這句話之前加入引用setLib.sh文件的命令如下
. "/home/web/lib/setLib.sh"
修改后的內容如下
……
. "/home/web/lib/setLib.sh"
. "/home/web/bea/weblogic700/server/bin/startWLS.sh"
5.修改startWLS.sh文件
在home/web/bea/weblogic700/server/bin/startWLS.sh文件中找到
CLASSPATH="${JAVA_HOME}/lib/tools.jar${CLASSPATHSEP}${WL_HOME}/server${CLASSPATHSEP}${WL_HOME}/server/lib/weblogic_sp.jar${CLASSPATHSEP}${WL_HOME}/server/lib/weblogic.jar${CLASSPATHSEP}${CLASSPATH}"
改成
CLASSPATH="${EXT_LIB_JAR}${CLASSPATHSEP}${JAVA_HOME}/lib/tools.jar${CLASSPATHSEP}${WL_HOME}/server${CLASSPATHSEP}${WL_HOME}/server/lib/weblogic_sp.jar${CLASSPATHSEP}${WL_HOME}/server/lib/weblogic.jar${CLASSPATHSEP}${CLASSPATH}"
新聞熱點
疑難解答