【问题标题】:In weblogic.xml, <prefer-application-packages> is not working?在 weblogic.xml 中,<prefer-application-packages> 不起作用?
【发布时间】:2018-11-01 20:48:45
【问题描述】:

我已经尝试了很多解决方案/尝试和错误,这些都是从 stackover flow 和谷歌搜索中得到的。使用 Weblogic 12.2.1.3 和我的项目 weblogic.xml

<wls:weblogic-web-app
        xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.8/weblogic-web-app.xsd">

      <security-role-assignment>
        <role-name>admin</role-name>
        <principal-name>Administrators</principal-name>
     </security-role-assignment>

     <wls:container-descriptor>
      <wls:prefer-application-packages>
           <wls:package-name>org.opensaml</wls:package-name>
      </wls:prefer-application-packages>

      <wls:show-archived-real-path-enabled>true</wls:show-archived-real-path-enabled>

    </wls:container-descriptor>

</wls:weblogic-web-app>

问题是,即使我在 weblogic.xml 中提到了取自我的项目的 opensaml,服务器也取自 Oracle weblogic。它不是从我的项目中获取的。我正在为我的项目使用 2.6.6 版本的 opensaml jar。我试过&lt;wls:package-name&gt;org.opensaml.*&lt;/wls:package-name&gt;,但没有成功。

检查 weblogic.xml 的主要原因是,当我尝试打开一个特定的 url 时,它在浏览器中显示以下错误。但是当您打开相同的 url 时,它适用于 Tomcat 服务器。所以我的假设是 weblogic.xml --> prefer-application-packages 标签不起作用。

java.lang.IncompatibleClassChangeError: Implementing class
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at weblogic.utils.classloaders.GenericClassLoader.defineClassInternal(GenericClassLoader.java:1113)
    at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:1046)
    at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:1038)
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:990)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:104)
    at weblogic.utils.classloaders.GenericClassLoader.doFindClass(GenericClassLoader.java:611)
    at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:543)
    at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:496)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:72)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:53)
    at org.springframework.security.saml.SAMLBootstrap.postProcessBeanFactory(SAMLBootstrap.java:42)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:284)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:179)

【问题讨论】:

    标签: java weblogic tomcat8 weblogic12c opensaml


    【解决方案1】:

    解决方法:

    当您删除 com.oracle.weblogic.security.opensaml2 时 weblogic--> 模块文件夹,问题得到修复。无需删除 com.oracle.weblogic.security.opensaml jar。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-11
      • 2014-05-19
      • 2018-01-04
      • 1970-01-01
      • 2019-12-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-15
      相关资源
      最近更新 更多