2016-01-28 3 views
0

Когда я развертываю файл EAR в weblogic 12.1.1, я получаю java.lang.ClassNotFoundException, но странное развертывание становится успешным, и я могу получить доступ к приложению.Исключение развертывания Weblogic: java.lang.ClassNotFoundException

Но, когда то же самое ухо развертывается в нашей производственной среде, ниже исключение возвращается и развертывание потерпела неудачу с ошибкой ниже

<Unable to set the activation state to true for the application "xyz-scheduler". 
weblogic.management.DeploymentException: java.lang.ClassNotFoundException: abc.xyz.ModelCI 
      at weblogic.application.internal.BaseDeployment.throwAppException(BaseDeployment.java:123) 
      at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:260) 
      at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:61) 
      at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165) 
      at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80) 
      Truncated. see log file for complete stacktrace 
Caused By: java.lang.ClassNotFoundException: abc.xyz.ModelCI 
      at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:335) 
      at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:302) 
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
      at weblogic.utils.classloaders.GenericClassLoader. 

Версия WebLogic производства является 12.1.2 и я не имею доступ для просмотра настроек веб-журнала.

Может ли кто-нибудь помочь мне понять, почему мое развертывание успешно работает на моем местном уровне, даже если оно выбрало исключение?

ответ

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 
Смежные вопросы