Weblogic部署异常:java.lang.ClassNotFoundException

时间:2016-01-28 02:17:49

标签: weblogic weblogic12c

当我在weblogic 12.1.1中部署EAR文件时,我得到{-# LANGUAGE FlexibleContexts #-} newtype Error = Error String gauntlet :: MonadError Error m => m () gauntlet = do unless boolCheck (throw "simple bool check failed") _ <- maybe (throw "simple maybe check failed") pure maybeCheck _ <- either throw pure eitherCheck x <- monadicBoolCheck unless x (throw "monadic bool check failed") return () where throw = throwError . Error version2 :: IO () version2 = putStrLn (case gauntlet of Left (Error e) -> "Error: " ++ e Right _ -> "successfully doing thing") ,但奇怪的是部署成功,我能够访问该应用程序。

但是,当在我们的生产环境中部署相同的ear时,会返回以下异常,并且部署失败并出现以下错误

java.lang.ClassNotFoundException

生产中的weblogic版本是12.1.2,我无权查看生产weblogic设置。

任何人都可以帮助我理解为什么我的部署在我的本地成功,即使它引发了异常吗?

1 个答案:

答案 0 :(得分:0)

它似乎不是一致的行为。集中在您的一个环境中并启用以下调试标志,以了解类加载的工作方式以及无法找到此类的原因:

-Dweblogic.utils.classloaders.GenericClassLoader.Verbose=true 
-Dweblogic.utils.classloaders.ChangeAwareClassLoader.Verbose=true 
-Dweblogic.utils.classloaders.ClasspathClassFinder=true 
-Dweblogic.utils.classloaders.DefaultFilteringClassLoader.Verbose=true 
-Dweblogic.utils.classloaders.FilteringClassLoader.Verbose=true 
-Dweblogic.utils.classloaders.FilteringClassLoader.ResourceDump=true 
-Dweblogic.utils.classloaders.URLClassFinder.Verbose=true 
-Dweblogic.log.StdoutSeverity=Debug 
-Dweblogic.log.RedirectStdoutToServerLogEnabled=true 
-Dweblogic.log.RedirectStderrToServerLogEnabled=true

输出结果非常详细。要解释它,请考虑以下内容:

Looking for class: CLASSNAME With classpath of (PATH) Classloader object id (CLASSLOADERID)
in case class is not found you will see:
    Class: 'CLASSNAME' not found.**
otherwise:
    Found class: CLASSNAME