rt.jar和xml-api.jar中的Node

11 篇文章 0 订阅

开发这么久,今天遇到两个小问题比较棘手,由于项目是maven来管理的,基本上不需要考虑jar包的问题,但今天自己移动项目的时候发现,myeclipse的项目移动到eclipse竟然报错了,问题就是org.w3c.dom.Node这个类在myeclipse中是引用的rt.jar这个jre中的jar包。可是在eclipse中引用的竟然是xml-api.jar中的Node。如果说包名不一致,我们可以用包名加类名来解决这个问题。但这个比较变态就是都一样的。

于是就google了一下,不过也没看到合理的解释,后来有请教了一个比较有经验的人,他让我把哪里依赖这个xml-api.jar的地方把这个依赖去掉。但是我不知道去掉这个依赖hibernate会不会出错。纠结啊。结果竟然没问题。那就把修改的地方贴出来下:

<dependency>
<groupId>org.apache.ws.commons.util</groupId>
<artifactId>ws-commons-util</artifactId>
<version>1.0.2</version>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
</exclusions>
</dependency>

这个问题就这样的搞定了,接下来还有个问题,就是The method is ambiguous for the type 这样的错误,说是方法模糊,其实这个确实是这样的,

比如你的方法void get(int a,Object ... obj)和void get(Object... obj)当你这样调用的时候get(10),那两种方法都可以匹配上,结果就报上面那样的错误

了,于是这次百度了下。别人的解决办法是这样的,打开eclipse.ini然后在-vmargs后加上-DtolerateIllegalAmbiguousVarargsInvocation=true这样一句

话,重启就好了,但我却重启了两次才好。第一次点重启,没用,第二次关了再开就好了。

每天学会一点点,这样就是一种进步。




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
我的jdk版本是11,用了这些jar包:" <dependency> <groupId>com.sun.xml.messaging.saaj</groupId> <artifactId>saaj-impl</artifactId> <version>3.0.2</version> </dependency> <!-- https://mvnrepository.com/artifact/jakarta.xml.ws/jakarta.xml.ws-api --> <dependency> <groupId>jakarta.xml.ws</groupId> <artifactId>jakarta.xml.ws-api</artifactId> <version>4.0.0</version> </dependency> <!-- https://mvnrepository.com/artifact/com.sun.xml.ws/jaxws-rt --> <dependency> <groupId>com.sun.xml.ws</groupId> <artifactId>jaxws-rt</artifactId> <version>4.0.1</version> </dependency> <!-- https://mvnrepository.com/artifact/jakarta.xml.soap/jakarta.xml.soap-api --> <dependency> <groupId>jakarta.xml.soap</groupId> <artifactId>jakarta.xml.soap-api</artifactId> <version>3.0.0</version> </dependency> <!-- https://mvnrepository.com/artifact/jakarta.activation/jakarta.activation-api --> <dependency> <groupId>jakarta.activation</groupId> <artifactId>jakarta.activation-api</artifactId> <version>2.1.2</version> </dependency> ";但是在tomcat运行这里的代码" private static MessageFactory getSOAPMsgFactory() throws SOAPException { if (_msgFact == null) { _msgFact = MessageFactory.newInstance(); } return _msgFact; }",会抛出异常:"jakarta.xml.soap.SOAPException: Unable to create message factory for SOAP: Unable to create SAAJ meta-factory: Provider com.sun.xml.messaging.saaj.soap.SAAJMetaFactoryImpl not found at jakarta.xml.soap.MessageFactory.newInstance(MessageFactory.java:96) at com.firstronix.webservice.WebServiceUtils.getSOAPMsgFactory(WebServiceUtils.java:80) at com.firstronix.webservice.WebServiceUtils.newBlankSOAPMessage(WebServiceUtils.java:130)",我该如何修复这个bug
最新发布
06-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值