管理Java类路径(Windows)

文章作者 100test 发表时间 2007:03:26 17:53:24
来源 100Test.Com百考试题网


类路径可以连接 Java 运行库和文件系统。它定义编译器和解释器应该在何处查找要加载的 .class 文件。它的基本思想是:文件系统的层次结构反映了 Java 包的层次结构,而类路径则定义了文件系统中的哪个目录可以作为 Java 包层次结构的根。

遗憾的是,通常文件系统非常复杂并依赖于平台,而且和 Java 包也不能很好地匹配。尤其是在 Windows 环境中更是如此。Java 是一些 Unix 高手设计的,因而从很多方面来说,这也就意味着它无法很好地与 Windows 约定同步。这样一来,不论是新用户还是资深 Java 程序员都深感类路径的棘手。没错,它的确不是 Java 平台好的一面,它让您到了下班的时候还在忙于调试一个顽固的小问题。

当然采用 Eclipse 这样的优秀 IDE 可以减少管理类路径的一些困难,但只能说是一些,而且前提还必须是一切都正常(但这不大可能,因为总会有一些意外出现)。因此,每个 Java 程序员都必须要全面了解类路径,惟有如此,才有希望调试类路径中所出现的问题。

在本文中,我给出了您所需要了解的有关 Windows 中的 Java 类路径(以及相关源路径)的全部内容。本文的 姊妹篇 则展示了 UNIX 和 Mac OS X 上的类似技术。遵循这里列出的步骤可以防止不必要的类路径故障并能解决出现的大多数问题。

包结构

要掌握类路径,首先应从其源代码入手。每个类都属于一个包,而此包必须 遵守标准的命名约定。简单地说,包的名称要由颠倒的两级域名开始,比如 com.exampleedu.poly,之后是至少一个或多个单词用于描述包的内容。比方说,假设有一个域名为 elharo.com,如果要创建一个 Fraction 类,可以将其放入如下包中:

  • com.elharo.math
  • com.elharo.numbers
  • com.elharo.math.algebra.fields

在颠倒的域名之后,需要使用单一单词的子包名。不要使用缩写形式,并要保证拼写正确。如果需要,可以使用拼写检查器。大部分与类路径相关的问题都是由在源代码中使用某个单词而在文件系统中使用的却是与之稍有不同的拼写或缩写而引起的。所以最好的做法就是总是使用拼写正确且没有缩写的名称。

整个包名称应该是小写的,即使该名称是在别处常采取大写形式的一些惯用名称和缩写词。Windows 通常不区分文件名中的大小写,但 Java 和一些 UNIX 文件系统却区分。如果需要在不同的系统间移动文件,大小写问题肯定会带来一些麻烦。

包名称必须要全部由 ASCII 字符组成。一些编译器也接受用 Hebrew、Cyrillic、Greek 或其他脚本编写的包名称,但大多数文件系统并不接受;您稍后就会看到,这样的包名称必须担负充当目录名这样的双重任务。Java 包和类名是 Unicode,但很多文件系统(包括 FAT)却不能识别 Unicode。遗憾的是,FAT 系统非常之多。如果只简单地用不同的默认编码将文件复制到系统将会使编译器和解释器无法找到正确的类。

用完即弃的代码

如果您在编写一个只使用一次就丢掉的类 —— 比如测试一个 API 的类 —— 则无需将它放到包中。但需要多次使用的类必须要放到包中。

不要试图在包名称方面节约成本。长远来看,这只会有百害而无一利。如果需要域名就买一个。如果名称太长就买个短些的(我曾经买到了 xom.nu 这样一个域名,因而我的包前缀就只有 6 个字符)。不要将类放到默认包中(默认包是指如果未在类中包含一条包语句时系统默认给出的包)。如果包访问不利于对象间的通信,就需要向类中添加更多的公共方法。需要多次使用的类必须要放到包中。

配置 Windows

文件扩展名和路径对于 Java 和 Windows 来说都很重要。所以在开始下面的步骤之前,务必确保能够看到它们。隐藏部分文件名对终端用户来说还可以接受(但我并不完全这么认为),但对于开发人员来说显然不行。要解决这个问题,需要对 Windows Explorer 的一些默认设置做些更改。

首先在 Windows 桌面打开任意一个文件夹。找到 Tools 菜单,选择 Folder Options。在随后打开的对话框中,确认选择了如下三个选项,如图 1 所示:

  • “Display the full path in the address bar” 应该选中。
  • “Display the full path in title bar” 应该选中。
  • “Hide file extensions for known file types” 应该清除


图 1. Windows Explorer 选项
Folder Options/View

您可能还想选中 “Show hidden files and folders”,它对您的 Java 作业没有多大影响,但就我个人而言,我很希望能够看到所操作的所有内容。选中这些选项可以显露关于所做事情的更多细节,使您能更轻松地调试所出现的问题。

目录结构

下一步要做的是组织源文件来匹配包结构。在某处创建一个干净的空白目录。本文中,我将其命名为 project。如果将该目录放到根级别(比如 C:\project)就会更容易一些。也可以将其放到桌面或 Documents and Settings 文件夹。但这会让输入的命令更长也更为复杂,所以只在十分必要的情况下才这么做(如果您运行的是 Windows XP 或更高,而且没有管理员权限,那您没有什么其他的选择。在单用户系统上,最好是要有管理员权限,这会使情况大大简化)。


相关文章


SCJP认证试题解析之一
多角度看Java中的泛型
SCJDInformation
scjp(sun认证java程序员)来谈谈我的复习方法
管理Java类路径(Windows)
Java入门:java类文件详解
我看SCJP考试通过
我的scjp考试经历
Java深入:认识classClass及其应用
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛