管理Java类途径(UNIX和Mac OS X)[Java编程]
本文“管理Java类途径(UNIX和Mac OS X)[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
类途径可以衔接 Java 运行库和文件系统.它定义编译器和注释器应当在何处查找要加载的 .class 文件.它的基本思惟是:文件系统的层次构造反映了 Java 包的层次构造,而类途径则定义了文件系统中的哪个目录可以作为 Java 包层次构造的根.
遗憾的是,普通文件系统非常复杂并依靠于平台,并且和 Java 包也不能很好地匹配.这样一来,不管是新用户还是资深 Java 程序员都深感类途径的棘手.没错,它的确不是 Java 平台好的一面,它让您到了下班的时刻还在忙于调试一个顽固的小问题.
当然采取 Eclipse 这样的优异 IDE 可以削减管理类途径的一些艰难,但只能说是一些,并且前提还必须是一切都正常(但这不大大概,因为总会有一些不测呈现).因此,每个 Java 程序员都必必要全面理解类途径,惟有如此,才有但愿调试类途径中所呈现的问题.
在本文中,我给出了您所需求理解的有关 UNIX、Linux 和 Mac OS X 中的 Java 类途径(以及相关源途径)的全部内容.本文的 姊妹篇 则展示了 Windows 上的近似技术.文中列出的步骤可以作为指南,并能办理呈现的大大都问题.
包构造
要掌握类途径,首先应从其源代码动手.每个类都属于一个包,而此包必须 服从尺度的命名约定.简单地说,包的名称要由倒置的两级域名开始,比方 com.example 或 edu.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 系统非常之多.假如只简单地用差别的默许编码将文件复制到系统将会使编译器和注释器无法找到精确的类.
不要试图在包名称方面节俭本钱.长远来看,这只会有百害而无一利.假如需求域名就买一个.假如名称太长就买个短些的(我曾经买到了 xom.nu 这样一个域名,因而我的包前缀就只有 6 个字符).不要将类放到默许包中(默许包是指假如未在类中包含一条包语句时系统默许给出的包).假如包拜候不利于对象间的通信,就需求向类中增添更多的大众办法.需求多次利用的类必必要放到包中.
目录构造
下一步要做的是组织源文件来匹配包构造.在某处成立一个干净的空白目录.本文中,我将其命名为 project.在这个目录里,再成立两个目录:bin 和 src.(有些人更喜好将其辨别命名为 build 和 source.)
接下来,在 src 目录,建一个与包层次构造相匹配的层次构造.比方,假如给定类名为 com.elharo.math.Fraction,我会将 com 目录放到 src 目录中,然后在 com 目录中成立一个 elharo 目录,再在 elharo 目录内放一个 math 目录,最后在 math 目录内放上 Fraction.java,如图 1 所示:
图 1. 目录构造符合包构造
要点:不要在 src 目录中安解除源代码之外的任何内容.普通这里放入的文件都是 .java 文件.在有些情形下,也可安排 .html 文件(用于 JavaDoc)或其他范例的源代码.但是,决不能在此构造内安排 .class 文件或任何其他编译并生成的工件.这样做只会带来麻烦.遗憾的是,假如不够谨严,javac 编译器就会 “明知故犯”.在下一节,将介绍若何修复这一问题.
以上是“管理Java类途径(UNIX和Mac OS X)[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |