最后,如果当前的classpath中能够找到指定的类,则程序显示包含该类的类文件所在位置的绝对路径名(21-24行)。作为一种调试辅助手段,如果当前classpath中不能找到指定的类,则程序获取java.class.path系统属性并显示当前的classpath(24-28行)。
很容易想象,在使用Servlet引擎classpath的 Servlet中,或者在使用EJBclasspath的EJB组件中,上面这段简单的代码是如何运作。例如,如果JWhich类是由Servlet引擎的定制类装载器装入,那么程序将用Servlet引擎的类装载器去寻找指定的类。如果Servlet引擎的类装载器不能找到类文件,它将委托它的父类装载器。一般地,当JWhich被某个类装载器装入时,它能够找出当前类装载器以及所有其父类装载器所装入的所有类。
【结束语】如果需要是所有发明之母,那么帮助我们管理类路径的工具可以说迟到了很长时间。Java新闻组和邮件列表中充塞着许多有关classpath的问题,现在JWhich为我们提供了一个简单却强大的工具,帮助我们在任何环境中彻底玩转Java类路径。
【参考资源】
JWhich的全功能版,包含一个classpath检验器:
Sun JDK的官方文档,以及在各种官方支持的平台上有关classpath的说明:
关于在和Unix上设置classpath的详细说明,参见:
Unix:
:
【责编:admin】
--------------------next---------------------
阅读(482) | 评论(0) | 转发(0) |