两个具有相同的名称在CLASSPATH中的类

http://d2100.com/questions/817

两个具有相同的名称在CLASSPATH中的类

如果我有两个名称相同的类说在我的类路径的两个不同的JAR将拾起JVM Matcher.java,反正是有,我可以建议JVM选择一个特定的呢?

4条回答

回答#1

引述甲骨文

规范秩序

您指定多个类路径项的顺序是很重要的。 Java解释器将查找的目录中的类,它们在类路径变量中出现的顺序。在上面的例子中,Java解释器将首先查找所需目录中的C类: JAVA MyClasses。只有当它没有找到一个适当的名称,在该目录的类口译看看在C: JAVA OtherClasses目录。

这个例子中提到:

C:> Java的类路径C: JAVA MyClasses C: JAVA OtherClasses ...

所以,是的,它会加载一个,先指定的类路径中出现。

回答#2

还有一种方法,为您指定的类应该选择从..您可以创建自己的类加载器加载类,根据您的要求。

你可以使用你的类加载2种方式

  1. Pass it as a parameter to jvm (java -Djava.system.class.loader =com.somepackage.YourCustomClassLoader com.somepackage.YourMainClass)
  2. Use the class loader programatically to load a specific class (refer the links provided).

这里的类加载一些有用的链接

回答#3

在classpath中找到的第一个。即,第一个JAR包含您的类将被使用。

你无法控制它从JVM内,但可以控制的classpath -确保你想要的是一个上市/在classpath中首先发现。

回答#4

使用它时使用的类的完全限定路径。但是,如果你是指具有相同的名称类,也具有相同的封装 - 修复类路径。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值