Guava and Weblogic:ClassNotFoundException

前端 未结 2 593
难免孤独
难免孤独 2020-12-12 02:39

I\'m trying to work on a web application that deploys to Weblogic 10.3.5. One of the maven dependencies is Guava.

Unfortunately, upon attempting to publish the proje

相关标签:
2条回答
  • 2020-12-12 03:07
    • Yes it's classloader issue (application vs. WebLogic classloading)
    • guava libraries and com.google.common contains same classes
    • WebLogic has com.google.common_1.0.0.0_0-6.jar or com.google.common_1.1.0.0_0-6.jar in it's classpath, in modules directory. (depending on WebLogic version, but the jar content is same, only META-INF\MANIFEST.MF is different)
    • You cannot find this library in WebLogic Classloader Analysis Tool (CAT). I'm not sure why is that....
    • Why not using WebLogic built in feature with help of FilteringClassLoaders - prefer-application-packages ?

    you need to add something like this to your weblogic.xml or weblogic-application.xml if you are in EAR application

    <wls:container-descriptor>
        <wls:prefer-application-packages>
                <wls:package-name>com.google.common.*</wls:package-name>
        </wls:prefer-application-packages>
    </wls:container-descriptor>
    

    Then redeploy the application.

    It works for us.

    • pros: no need to replace & rename magic with com.google.common*.jar files... that's a way to suicide...

    Hope it helps.

    For more info, see the link:
    https://www.rational-pi.be/2013/03/guava-and-weblogic12c/

    0 讨论(0)
  • 2020-12-12 03:17

    Go to your weblogic folder, weblogic-home >modules and if there is a com.google.common....jar file, just delete it and replace it with a guava.jar file, and you have to rename the guava file with the old com.google.common......jar name (cuz weblogic is looking for this name, but its conflicting with your guava file).

    i had the same problem here

    0 讨论(0)
提交回复
热议问题