*******有关classspath的高级问题,高手请进***********

cxy550 2003-08-22 03:59:51
classpath是jvm寻找可执行的class时的依据,并且按照先后顺序进行排列,当多个相同的class出现时,以先出现的classpath为准。
以上是我对classpath的认识,我的问题就在于我现在的程序运行没有遵循这个原则.
它的运行过程是:首先找我本地jar文件中的内容,然后再找我指定最开始的那个路径。
是不是程序中可以实现对classpath的优先权的设置?
备注:我的jdk是:1.3.1
...全文
82 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhousm6 2003-08-26
  • 打赏
  • 举报
回复
cxy550(小宇)不可能吧,class有可能根据classPath的设置不断寻找,但如果是资源文件的话,肯定是在代码中已经指定了路径的,跟classPath没多大关系,除非你在程序中指定了先查找某个路径,如果此路径下没有要找的文件或要找的项再到另一个路径下查找。
建议你看一下source。
jkit 2003-08-26
  • 打赏
  • 举报
回复
推荐你去研究一下ClassLoader的工作原理。
cxy550 2003-08-26
  • 打赏
  • 举报
回复
up,不知大家又没有发现这种现象?
cxy550 2003-08-22
  • 打赏
  • 举报
回复
具体细化我的现象,开始那个优先查找错误那个错误我发现了,使自己的手误。
我的那个文件是一个资源文件,给一个code,然后从里面找一个名称,我的旧文件中有些项没有,而新文件中都有,发现的奇怪现象是虚拟机先在旧文件中按照code来找名称,如果找到了,就不再向下找,如果没有找到,就接着按路径找,等于说为了查一个code,它一共使用了两个文件。
phoenix7789 2003-08-22
  • 打赏
  • 举报
回复
同意楼上的,classpath下的多个包,一般排在前面的先加载。
nbm0 2003-08-22
  • 打赏
  • 举报
回复
应该是先找我们程序当前的class
再找lib目录下的class
再找classpath下的class

不是太清楚!有谁详细说清楚!
ashes 2003-08-22
  • 打赏
  • 举报
回复
jar运行时classpath环境变量无效
只有jar的manifest.mf里的
Class-path 有效

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧