Java 解决axis2和OC4J库冲突
我正在尝试将Axis2 web服务部署到OC4J 10.1.3应用服务器 我以前使用的是Axis1.4,刚刚创建了自己的共享库,其中包含了所有文件。1.4中有一个问题是用1.5修补的,所以我现在使用它,但它不包括所有的库。这次我将axis2.war部署到OC4J服务器,并使用axis2管理页面尝试部署我的web服务 如果我通过axis2部署web服务,那么我将得到一个Java 解决axis2和OC4J库冲突,java,shared-libraries,axis2,oc4j,Java,Shared Libraries,Axis2,Oc4j,我正在尝试将Axis2 web服务部署到OC4J 10.1.3应用服务器 我以前使用的是Axis1.4,刚刚创建了自己的共享库,其中包含了所有文件。1.4中有一个问题是用1.5修补的,所以我现在使用它,但它不包括所有的库。这次我将axis2.war部署到OC4J服务器,并使用axis2管理页面尝试部署我的web服务 如果我通过axis2部署web服务,那么我将得到一个java.lang.NoSuchMethodError:javax.jws.WebMethod.exclude()Z,但我找不到冲
java.lang.NoSuchMethodError:javax.jws.WebMethod.exclude()Z
,但我找不到冲突的库。Axis2中有新的jax ws库,但我认为这是OC4J应用服务器上的一个问题。我排除了xml.jar(因为它有旧的jaxb1.0 libs),这在我的本地机器上解决了这个问题,但在linux机器上没有
我尝试先编辑部署计划以搜索本地文件夹,这允许我部署服务,但当我尝试访问它或WSDL时,我得到一个关于类强制转换异常和JXDocumentBuilderFactory的错误(目前我没有确切的错误)
我将linux机器上的共享库与本地机器上的共享库进行了比较,并在每个机器上使用了相同的库(不过,我没有验证每个jar的版本)。如果axis2部署到OC4J,而我将服务部署到axis2,那么我不会继承axis2库(jax ws等)吗 将以下内容添加到orion-application.xml中,尝试删除冲突中的继承库:
<orion-application>
<imported-shared-libraries>
<remove-inherited name="PUT_HERE_THE_NAME_OF_THE_LIBRARY"/>
</imported-shared-libraries>
</orion-application>
详情如下:
编辑:我搜索了共享库,发现没有,jws-api.jar是在启动时加载的,无法轻松删除: 更换OC4J JAX-WS库
OC4J已初步支持JAX-WS,不幸的是,这意味着在OC4J引导期间,它将加载过时的JAX-WS API并由Oracle实现。在OC4J启动的非常早期阶段,甚至在共享库开始运行之前就出现了这种情况。
启动时OC4J库在$ORACLE_HOME/j2ee/HOME/OC4J.jar bootstrap jar中的Boot.xml文件中配置。要摆脱这个问题: 1-将jar文件复制到${oracle.home}/webservices/lib/jaxws
2-解包OC4J.jar文件
3-Locate META-INF/boot.xml
4-用jar替换此行中的路径:
<code-source
path="${oracle.home}/webservices/lib/jws-api.jar"
if="java.specification.version == /1\.[5-6]/"
/>
5-Repackage oc4j.jar(不要忘记MANIFEST.MF-use jar-m META-INF/MANIFEST.MF)
原始文章:您是否有异常的完整堆栈跟踪?它可能有助于识别有罪的库。您使用的是哪个版本的OC4J?您提到了10.1.3,但您是指10.1.3.1或10.1.3.3等还是最近发布的10.1.3.5。对不起,我目前没有完整的stacktrace,但版本是10.1.3.1.0。我需要的是xmlparserv2.jar,它位于共享库中,但在尝试访问我的web服务时找不到它(可能与另一个库冲突?)。我首先选中该框以启用搜索web应用程序库,并在web应用程序库中包含xmlparserv2.jar,这已经解决了它;不过,我不知道这是否会导致另一个冲突。这是orion-web.xml中的内容:
,不幸的是,有几个其他服务已经在运行,可能依赖于旧库,因此我一直在尝试避免更改服务器上的任何内容。另外,我只能通过Oracle Enterprise Manager访问,不能访问实际的计算机本身。我正在慢慢地把东西拼凑起来,但这真的很痛苦。