由于客户业务不一样,把原来的对外接口项目移植部署到weblogic下,发现很多问题,而在tomcat下这些问题都不会存在的。搞了半天没弄好,然后在网上查找解决方法,还是没有解决,最后就用最笨的方法把项目下的lib jar包一个添加部署到weblogic部署的lib,最后成功了。
异常问题:
Exception - java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.wsdl.Definition.getBinding(Ljavax/xml/namespace/QName;)
其实这些问题就是weblogic跟asix jar冲突导致的。解决方法如下:
1、在\WEB-INF\目录下新增weblogic.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<jsp-descriptor>
<keepgenerated>true</keepgenerated>
<page-check-seconds>60</page-check-seconds>
<precompile>true</precompile>
<precompile-continue>true</precompile-continue>
</jsp-descriptor>
<container-descriptor>
<index-directory-enabled>true</index-directory-enabled>
<optimistic-serialization>true</optimistic-serialization>
<!-- 该项目jar加载优先权 -->
<prefer-web-inf-classes>true</prefer-web-inf-classes>
<show-archived-real-path-enabled>true</show-archived-real-path-enabled>
</container-descriptor>
</weblogic-web-app>
2、\WEB-INF\lib\目录下只需要如下文件:
axis.jar
axis-ant.jar
commons-logging-1.0.4.jar
commons-discovery-0.2.jar
wsdl4j-1.5.1.jar
3、目前遇到跟weblogic冲突的jar,如下:
xmlbeans-2.3.0.jar、xmlbeans-2.4.0.jar、xmlsec-1.3.0.jar、activation.jar、jaxrpc.jar、jsf-api.jar、jsf-impl.jar、jstl-1.2.jar、junit.jar、mail.jar、saaj.jar、tools.jar