同一个项目中存在完全相同的包名和类名如何解决调用问题

项目中遇到有一个类,在两个jar包中都存在,而且类所在的包名和类名完全一致,解决办法有两种:

1.常用办法

  清除项目中过时的那个jar包,推荐方式。

2.如果两个都不能清除,则在使用过程中动态指定加载的jar包即可。以rt.jar中javax.xml.ws.Service为例,代码如下

   File file = new File("f:\\rt.jar");

URL url = file.toURI().toURL();

ClassLoader classLoader = new URLClassLoader(new URL[]{url});

Class<?> clazz = classLoader.loadClass("javax.xml.ws.Service");

Service service = (Service)clazz.newInstance();

service.getPorts(); //Service类的一个方法

时间: 2024-10-18 11:59:40

同一个项目中存在完全相同的包名和类名如何解决调用问题的相关文章

Swift &amp; Objc 在同一个项目中的使用

在WWDC大会中发布了Swift让人眼前一亮.终于加了很多的现代编程语言该有的东西.很早年以前玩C#3.0+的时候这些差不多类似的 已经用的烂熟的东西终于一点一点的在看Swift Programming Language的时候再唤醒. Swift较之于OC(Objective-C)在愈发上几乎是一门新的语言了,幸运的是Swift和OC都是出自苹果大家庭,还能在一张桌子上吃饭.也就是说在升级项目 的时候你可以考虑使用Swift开发新的功能,调用已有的部分或者被已有的部分调用.或者在Swift开发的

【RocketMQ】同一个项目中,同一个topic,可以通过不同的tag来订阅消息吗?

一.问题答案 是不可以的 而且后注册的会替换前注册的,MqConsumer2会替换MqConsumer,并且只结束tag-2的消息 /** * @date 2019/05/28 */ @Component @Slf4j public class MqConsumer implements MessageConsumer { @Override @Transactional(rollbackFor = Throwable.class, propagation = Propagation.REQUI

idea 中resources下于java包名相同的包不能导入XML文件问题

idea 中resources 下于java包名相同的包不能导入XML文件,查询网上无果,后看了一下编译后的classes文件,恍然大悟,idea创建包和STS有不同之处 idea 建包要一个个建包, 如果直接建cn.ssm.mybatis ,会直接认为建立一个包,看下图 原文地址:https://www.cnblogs.com/jsbk/p/9153801.html

maven项目中依赖自定jar包

在开发中经常会出现maven项目需要依赖一个自定义jar包,但是这个jar包并没有在maven仓库中,就会出现打包时找不到jar包的问题,解决办法如下: 在这个模块中,lib下的jar包是我自己定义的,maven仓库中并没有,在pom文件中添加jar包时,做以下处理 这样打包时就能找到包的位置了 原文地址:https://www.cnblogs.com/Zs-book1/p/12299806.html

项目中 添加自己的jar包

mvn install:install-file   -Dfile=java-bloomfilter-1.0.jar  -DgroupId=com.sina  -DartifactId=java-bloomfilter -Dversion=1.0  -Dpackaging=jar -Dfile:指明你当前jar包的位置(就是第1步存放jar的路径+jar包名): -DgroupId, -DartifactId,  -Dversion:三个参数,就是指明了存放maven仓库中的位置: -Dpack

Android在一个APP中通过包名或类名启动另一个APP

开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用.一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动: Intent intent = new Intent(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_LAUNCHER); ComponentName cn = new ComponentName(packageNam

项目中遇到的涉及Mysql的几个异常及解决办法(转)

本文转自:http://blog.csdn.net/haoren_e/archive/2010/05/14/5590912.aspx 这次的项目采用mysql数据库,以前没怎么接触过,所以遇到很多问题,在此小小总结一下: (1)com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 见名之意:超时,无法连接 所以解决办法也很好办: 在my.ini中添加wait_timeout=181

java基础知识之一:命名规则(包名、类名、变量名、方法名)

1.包名:包名一般是小写英文字母 2.类名:单词首字母大写 3.变量名: 1) 标识符由字母.数字.下划线"_".美元符号"$"或者人民币符号"¥"组成,并且首字母不能是数字. 2) 不能把关键字和保留字作为标识符. 3) 标识符没有长度限制. 4) 标识符对大小写敏感. 4.方法名:首单词小写,后面单词首字母大写 注意一下,不同变量类型默认的字节存储.Java中小数默认是double类型,例如上面(float)4.5,如果你直接写4.5,会在4

在同一个项目中灵活运用application/json 和application/x-www-form-urlencoded 两种传输格式(配合axios,同时配置loading)

'use strict' import axios from 'axios' // import qs from 'qs' import { Notification} from 'element-ui' //使用elementui的提示显示 import { Loading } from 'element-ui' import router from "../router"; let loading function startLoading() { loading = Loadin