为了实现自定义登录,我将重写java.util.logging.LogManager。 现在我需要将“java.util.logging.manager”系统属性指向我的CustomLogManager类。
在jdev中,它可以通过在项目属性中设置java选项来实现。 “-Djava.util.logging.manager = project8.CustomLogManager”。
我编辑了startWebLogic.sh,并添加了相同的内容。
# START WEBLOGIC
echo "starting weblogic with Java version:"
${JAVA_HOME}/bin/java ${JAVA_VM} -version
if [ "${WLS_REDIRECT_LOG}" = "" ] ; then
echo "Starting WLS with line:"
echo "${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Djava.util.logging.manager=project8.CustomLogManager -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}"
但是在启动管理服务器时,我收到此错误..
weblogic.Server
Could not load Logmanager "project8.CustomLogManager "
java.lang.ClassNotFoundException: project8.CustomLogManager
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.util.logging.LogManager$1.run(LogManager.java:167)
at java.util.logging.LogManager.<clinit>(LogManager.java:156)
at java.util.logging.Logger.getAnonymousLogger(Logger.java:342)
at weblogic.kernel.KernelLogManager.createClientLogger(KernelLogManager.java:44)
at weblogic.kernel.KernelLogManager.access$000(KernelLogManager.java:17)
at weblogic.kernel.KernelLogManager$LoggerMaker.<clinit>(KernelLogManager.java:20)
at weblogic.kernel.KernelLogManager.getLogger(KernelLogManager.java:26)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at weblogic.logging.MessageLogger.log(MessageLogger.java:96)
at weblogic.logging.MessageLogger.log(MessageLogger.java:112)
at weblogic.logging.WLMessageLogger.log(WLMessageLogger.java:53)
at weblogic.kernel.T3SrvrLogger.logDomainLibPath(T3SrvrLogger.java:2440)
at weblogic.Server.appendToClassPath(Server.java:129)
at weblogic.Server.intializeClassloader(Server.java:140)
at weblogic.Server.main(Server.java:67)
但与此同时,我可以看到我的CustomLogManager.jar被导入了。 我在/ domain-folder / bin /。
下有CustomLogManager.jar<Notice> <WebLogicServer> <BEA-000395> <Following extensions directory contents added to the end of the classpath:
/export/......../CustomLogManager.jar
所以任何想法我怎么能避免得到ClassNotFound错误。?
提前致谢
答案 0 :(得分:1)
在WEBLOGIC_CLASSPATH
中包含您的CustomLogManager.jar