第03章 电子文档-进阶:package、类路径与JAR文件docx.pdfVIP

第03章 电子文档-进阶:package、类路径与JAR文件docx.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

进阶:package、类路径与JAR文件

一个Java项目中通常包含多个包,有时还会引用第三方的包。如何管理好项目中的源

代码文件(.java)、字节码文件(.class),如何让JVM正确加载第三方包是项目管理的一个

重要内容。现代IDE已经大幅简化了这些管理工作,不过程序员也应了解这方面的基本概念

与原理。

1.类路径:寻找类的路径

在IDE中,chpt03包的Main.java使用的某个类在chpt03.test包中。这时,在IDE中打

开Main.java文件,然后点击IDE中的“运行”相关按钮,就可以运行程序。

在这个过程中,IDE首先要编译当前文件。在编译时,需要查找为了编译该文件所需的

字节码文件。到哪里查找?需要到提前设置好的的类路径(classpath)中去查找。找到以后,

就可以在指定位置生成相应的Main.class文件。一般来说,字节码文件应放入与其包名结构

对应的目录结构中。比如,上面的Main.class应放入chpt03/test这个目录中。最后,加载

Main.class进入JVM运行时,还需要在类路径中查找Main.class所需的其他.class文件。类路

径的作用就是告诉Java命令或者第三方工具到哪里去寻找所需的字节码文件。

在这个过程中,IDE需要编译源代码文件、运行所生成的字节码文件,还需要管理类路

径。但实际上,编译与运行是由javac与java命令来完成的,而类路径则是在执行这两个命

令时通过-cp参数来指定的。下面将简单介绍如何在命令行下使用javac与java命令编译运

行一个java程序。

2.命令行下编译与运行带包名的类相关文件

假设Main.java这个文件已经在/javabook/src/目录,且该文件的源代码只是简单的输出

一个“HelloWorld!”。对于上面提到的在chpt03.test包中的Main.java文件,可以进行如下操

作来编译与运行。具体操作详见图3.5。

(1)在命令行下切换到/javabook/src目录(cdsrc);

(2)运行命令javac-d.Main.java编译Main.java。这条命令会将生成的.class文件放入当

前目录下的chpt03/test/目录下。-d是javac命令的参数,该参数的作用指定放置生

成的类文件的位置。-d.其中的点指的是当前目录,但不是直接将类文件放入当前

目录,而是以当前目录为根创建包名对应的目录结构,然后将生成的类文件放入。

Main.java中的类在chpt03.test包中,因此会将Main.class放入当前目录下的

chpt03/test/目录中,在这里就是放入d:/javabook/src/chpt03/test目录下。

(3)运行命令javachpt03.test.Main加载并运行Main.class。java命令后的chpt03.test.Main

是类的完全限定类名,而不是文件名。java会从当前目录下,按照包名到对应的目

录中(chpt03/test/)去加载并运行相应的.class文件。

图3.5编译并运行Main.java文件

上述例子中并没有为javac与java设置类路径。实际上,如果不设置类路径,javac与

java命令就会将当前目录设置为默认类路径。

javac-d.Main.java就相当于javac-cp.-d.Main.java命令。

javachpt03.test.Main就相当于java-cp.chpt03.test.Main命令。

3.命令行下编译与运行带包名的类相关文件(需要导入其他类)

考虑更复杂一点的情况。在/javabook/src/目录下有PackageTestV1.java与PersonV2.java

文件。PackageTestV1在chpt03.test包中,PersonV2在chpt03包中。PackageTestV1.java代码

如下所示,可以看到PackageTestV1需要导入chpt03.PersonV2类。

pa

文档评论(0)

学海无涯而人有崖 + 关注
实名认证
文档贡献者

教师资格证、人力资源管理师持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年06月11日上传了教师资格证、人力资源管理师

1亿VIP精品文档

相关文档