Java、Javac、Javadoc查找class路径总结

本文介绍了Java加载类的机制,重点关注用户类路径的设置,包括默认值、CLASSPATH环境变量和-cp/-classpath选项。详细阐述了如何在命令行中使用这些选项引用jar、zip和class文件。同时,对比了Javac和Javadoc加载类的异同,并通过实例说明了在不同场景下的类路径处理方法。
摘要由CSDN通过智能技术生成

这两天在用Eclipse编译文件的时候遇到些class无法找到的问题,于是想重新学习java查找class的机制。本文内容参考官方文档Java Tuturial How Classes are FoundSetting the Class Path

1、Java加载类

Java 按照加载顺序将类分为三种:引导类、扩展类和用户类,分别依次载入。

  • 引导类是如rt.jar等共同构成Java平台的关键Jar文件
  • 扩展类是通过Java扩展机制创建的Jar文件,位于$JAVA_HOME/jre/lib/ext
  • 用户类是开发者或第三方未按照Java扩展机制创建的类(大部分情况属于此)

引导类与扩展类一般不必设置加载路径,所以本文重点讨论用户类。

注意: tools.jar现在必须在包含在用户类路径中,否则无法使用。

用户类路径设置

用户类在使用时必须引用用户类路径(user class path),以完成后缀为jar、class、zip的类文件的引用。用户类路径有以下几种设置方式:

  • 默认值 . 表示当前编辑文件路径。(不必设置,只要当前编辑路径下的同包或非包类文件都可以自动加载)
  • CLASSPATH环境变量可以覆盖前者,这个就不多说了,Linux和Windows系统环境变量设置在网上都可以查到。
  • -cp/-classpath选项 Java程序选项,可以覆盖CLASSPATH,用户在命令行状态下使用Java程序时可以作为一些非包类查找路径。
  • -jar选项 这个比较特殊,在该选项下,所有使用的类必须包含在该jar文件中。

下面详细说下 -cp选项 设置要点。
-cp选项可以在不更改环境

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值