(转)关于两个jar包中存在包名和类名都完全相同的问题

转自:

http://blog.youkuaiyun.com/jayjjb/article/details/7963937

 

 

最近弄webservice,我使用的jdk自带的wsimport工具来生成客户端代码,发现生成的代码具有编译错误,错误描述如下:

The method getPort(QName, Class<T>) in the type Service is not applicable for the arguments (QName, Class<SCServicePortType>, WebServiceFeature[]).

而我单独创建新的项目来测试生成的客户端代码却没有这样的错误,所以错误原因在于jar包冲突.....

 

几近周折,终于让我发现,原来javax.xml.ws.Service这个类,即存在于jdk自带的rt.jar中,也存在于我项目引用包jaxws-api.jar,这种情况就是两个jar包中存在包名和类名都完全相同的问题。我需要的是rt.jar中的javax.xml.ws.Service类,但它却自动引入了jaxws-api.jar的javax.xml.ws.Service类,但是这两个jar包都不能去掉。

所以,只有改变编译器优先选择的jar顺序(这个顺序是可以改变的):在Eclipse中是在Java Build Path-》Order and Export里面,通过"up"/"down"按钮改变顺序,把jaxws-api.jar放在jdk的下面就可以了。

浅谈在JAR中同名类冲突问题 楔子 这段时间再给客户部署服务的时候,发现有一个服务在公司通过了所有测试,但是却在客户现场的生产环境上报出了一个诡异的问题。由于对出问题的那段代码不熟悉,所有前后折腾了2个小时才定位出来,原来是服务依赖的两个JAR包中都同时出现了一个同名类(该类的完全限定名一样),并且这两个类中都包含了同一个方法。在公司环境中执行的是正确的那个方法,而在客户现场执行的是错误的方法。这就导致了在公司没有问题的服务... 阅读详情

相关推荐

内网开发,Maven本地仓库中存在jar,但idea显示jar包不存在问题解决

介绍一下背景,项目要迁移进坑人的离线的内网开发,将在同事那编译通过的代码和maven仓库拷进内网,打算编译通过之后再上传私服,结果配好maven之后,本地库中的部分jar包显示没有引入,如下面的波浪线 想到可能是idea提示的不正确,直接编译吧,结果编译失败,主要错误信息如下 [ERROR] Failed to execute goal on project zeus-common-redis: Could not resolve dependencies for project com.hsjry

zxs9999的专栏 4918

当一个项目中导入两个jar包中含有相同包名和类名的类时,按照自己的要求去使用指定jar包下的类。

怎么分别执行两个jar包中的类。

文彬的博客 2万+

浅谈两个jar包中包含完全相同的包名和类名的加载问题

下面小编就为大家带来一篇浅谈两个jar包中包含完全相同的包名和类名的加载问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

不同jar包类名相同怎么办呀?

如果你在同一个项目中使用了不同的 jar 包,其中有两个类名相同,那么这时候就需要用到类的全名(包括包名)。例如,如果在你的项目中有两个包,一个是 com.example.package1,另一个是 com.example.package2,且两个包中都有一个类名为 MyClass,那么你可以使用如下方式来区分这两个类: com.example.package1.MyClass com.exam...

weixin_35753431的博客 1959

Python 映射函数map()详解

Python 映射函数map()详解

分享我的点点滴滴,在成长路上与你同行! 2139

innovus:如何在init design之后新增参考库(lib/lef)

如题,在PR过程中经常会遇到这种问题,时序无法收敛,需要新增一套lvt或者hpc的库,怎么办?

m0_61544122的博客 5007

关于两个jar包中存在包名和类名都完全相同的问题

最近弄webservice,我使用的jdk自带的wsimport工具来生成客户端代码,发现生成的代码具有编译错误,错误描述如下: The method getPort(QName, Class) in the type Service is not applicable for the arguments (QName, Class, WebServiceFeature[]). 而我单独创建新

jayjjb的专栏 2万+

在windows中安装并启动ActiveMQ5.16.2

打开ActiveMQ官网 下载ActiveMQ 点击apache-activemq-5.16.2-bin.zip进行下载 下载发后解压到c盘根目录下 在powershell中输入 ./activemq start启动 ActiveMQ服务 htpp://127.0.0.1:8161访问ActiveMQ控制台 ...

934

jar包中存在包名和类名都完全相同的问题

京东2022校园招聘正式开启啦 这是我的专属内推码 CJCH 加入京东,更快到达你想要的未来~

qq_32473523的博客 3563

XCP实战系列介绍07-使用ASAP2 Editor生成A2l文件详解

介绍通过ASAP2 Editor工具生成A2l文件步骤详解

initiallizer的博客 7297

Python爬虫实战:基于Scrapy和Playwright的深交所数据采集

本文将详细介绍如何使用Python最新技术栈(Scrapy框架结合Playwright浏览器自动化)爬取深圳证券交易所(www.szse.cn)的公开数据。文章包含完整项目搭建、反爬策略应对、数据解析存储等全流程实现,并附详细代码示例和性能优化建议。python复制下载# 上市公司基本信息# 财务数据revenue = scrapy.Field() # 营业收入net_profit = scrapy.Field() # 净利润eps = scrapy.Field() # 每股收益。

2201_76125261的博客 950

关于两个jar包中存在包名和类名都完全相同的jar包冲突问题

最近弄webservice,我使用的jdk自带的wsimport工具来生成客户端代码,发现生成的代码具有编译错误,错误描述如下: The method getPort(QName, Class) in the type Service is not applicable for the arguments (QName, Class, WebServiceFeature[]). 而我单

3万+

大疆RoboMaster嵌入式面试,电机FOC调不出来当场走人

摘要:大疆RoboMaster嵌入式工程师面试以实战能力著称,重点考察FreeRTOS任务调度、FOC电机控制和CAN总线三大核心技能。FreeRTOS部分涉及优先级调度、栈溢出排查及信号量与互斥锁的区别;FOC控制要求现场编写电流环代码,并解释Clarke/Park变换原理;CAN总线则关注仲裁机制、CANopen协议应用及错误帧排查方法。面试强调工程实践,需具备STM32开发经验,建议搭建实际环境进行练习。该岗位被誉为"硬件版修罗场",充分体现大疆对实际开发能力的严格要求。

郑伟强dev的专栏 150

关于两个Jar包中存在相同的包名和类名的冲突问题

问题发现: 最近在整richfaces的树形组件,发现在树形节点对象TreeNodeImpl中没有setData()方法;查看源码后,发现工程引的包是richfaces-components-api-4.2.0.Final.jar,节点对象路径是org.richfaces.model.TreeNodeImpl;查询解决办法是引richfaces-api-3.3.0.ga.jar这个Jar包,但...

E路之吕 9190

QT实现OPCUA服务端客户端(附完整源码)

QT实现OPCUA服务端客户端(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1821

【云原生技术】helm中Chart.yaml、values.yaml、_helpers.tpl 各自的写法与作用

Chart.yaml、values.yaml、_helpers.tpl 各自的写法与作用 在一个标准的 Helm Chart 中,通常会包含以下关键文件: - **Chart.yaml** - **values.yaml** - **templates/`_helpers.tpl`** - 以及若干模板文件(`deployment.yaml`、`service.yaml` 等) 下面分别介绍这几个文件的作用、常见字段及其含义。

weixin_46453070的博客 751

甲方扔给两个存在包名与类名均相同的Jar包,要在工程中同时使用怎么办?

你的项目是否曾遇到过有jar包冲突,而这些冲突的jar包又必须同时存在的情况?一般来说,jar 冲突都是因不同的上层依赖项,自身又依赖了相同 jar 包的不同版本所致,解决办法也都是去除其中一个即可。需要同时保留冲突jar包的情况,实属罕见。 在与第三访系统集成通信时,有一种方式是由被集成方提供Jar包,业务代码调用Jar包里提供的相关Java类或接口,并且很多都同时附带一份集成开发文档。 如果...

weixin_30586369的博客 846

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

有关两个jar包中包含完全相同的包名和类名的加载问题

首先从表现层介绍,后续后深入原理。 1,先简单介绍maven如何生成jar文件方便测试 <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.4</version> ...

weixin_34377065的博客 3229

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

两个jar包中存在包名和类名都完全相同

当出现不同jar 包名相同类名相同的情况下,叫做全限定名相同 应该去右边maven管理中查看包依赖的顺序。然后将想要扫描的包放到前面,(依赖放到其面即可) 因为这种情况下只会加载第一个。 类的加载与jar的导入顺序有关。 ...

weixin_39981289的博客 4002

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

关于两个jar包中存在包名和类名都完全相同的问题 .

最近弄webservice,我使用的jdk自带的wsimport工具来生成客户端代码,发现生成的代码具有编译错误,错误描述如下: The method getPort(QName, Class) in the type Service is not applicable for the arguments (QName, Class, WebServiceFeature[]). 而我单独创建新

Box_L的专栏 1308

idea中jar包明明存在,却报jar包不存在异常的完整处理过程。

前言 之前构建源码的时候就出现了这种明明jar包存在,却报找不到jar异常的问题,当时也是解决了很长时间发现把impl文件删除重新生成,才解决。因为像这样的问题,再网上没有一个明确的答案,因为每个人遇到的问题不一样,处理的方式也不一样。 最近在导入别人代码的时候又遇到了这样的异常,但是我发现按照原先的方法解决不了这个问题。最后又是花费了很长时间才解决。 由此就把所有的解决方式都记录一遍,方便你我他在这个问题上能够及时解决。 问题出现场景 构建源码 导入别人的程序 前几天还正常,现在不正常了 问题出现原理

超级教师 2万+

Tomcat配置优先加载某个jar包,解决相同类名冲突

Tomcat配置优先加载某个jar包,解决相同类名冲突 问题说明:当项目中存在相同的类,但具体的方法不同时,classloader加载了一个类之后,不会再加载第二个相同的类,但是你要用的类正好是那个没有被加载的类,此时,直接删了那个不用的类?可以解决,但最好是不删,万一那个类也是需要的呢,毕竟,在协同开发中,不要轻易的删除小伙伴的东西。还有,如果冲突的那个类在jar包中呢,而jar包中还有其他有用...

慧写代码 7523
上一篇: 解决Failed to load class "org.slf4j.impl.StaticLoggerBinder"
下一篇: gradle安装
jameskaron
博客等级 码龄20年 31粉丝 663原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值