我尝试了很多解决方案/尝试错误,这些都是从stackover流和谷歌搜索中获得的。使用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 的问题,这些问题都来自我的项目,然后Server也来自Oracle weblogic。这不是我的项目。我正在为我的项目使用2.6.6版本的opensaml jar。我尝试了<wls:package-name>org.opensaml.*</wls:package-name>
,但没有成功。
检查weblogic.xml的主要原因是,当我尝试打开一个特定的URL时,它在浏览器中显示以下错误。但是,当您打开相同的URL时,它适用于 Tomcat 服务器。所以我的假设是weblogic.xml-> Preferred-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)
答案 0 :(得分:0)
解决方法:
从以下位置删除com.oracle.weblogic.security.opensaml2时 weblogic->模块文件夹,此问题得到解决。无需删除 com.oracle.weblogic.security.opensaml jar。