选用教材:《Java核心技术卷一》
第四章 对象与类
一、设置类路径的两种方式
1、设置Classpath环境变量
Windows7配置JDK参考链接:
https://jingyan.baidu.com/article/b2c186c8038d4bc46ff6ff5d.html
2、通过命令行设置类变量
格式:根目录+当前目录+JAR文件。
例如:
C:\classdir;.;C:\archives\archive.jar
注意事项:
①若设置了类路径,但忘记包含当前目录,那么程序只能无错地通过编译,但不能运行。
②第二种方式中的路径设置也可以用上通配符,如:
C:\classdir;.;C:\archives\*
二、JAR文件
1、创建JAR文件的两种方式
①从eclipse文件菜单选导出,导出格式为JAR文件或者JAR可执行文件。这两种JAR文件的具体区别如下(来源CSDNhuangyinzhao用户):
jar file是最普通的jar包,即平时我们工程中lib下面的jar包,该jar不能运行。
即在打jar包的时候没有指定main函数所在的class(可能被打成jar包的所有class根本就没有main函数,只是普通的class类,没有main函数)。
即没有运行的入口(即main函数)。因此是不能运行的。
而Runnable jar file,是可以执行的jar包。
即在打jar包的时候指定了main函数所在的class,所以是jar是可以运行的,从指定的class的main函数开始执行。
按照这样的说法,只要我们要打包的类文件中包含了main函数,那么选一般JAR文件或者可执行JAR文件都是可以的。
②通过命令行创建JAR文件
使用语法:
jar cvf jarFileName file1 file2...
注意事项:
jarFileName:jar包后面要带.jar后缀。
file1、file2等文件也要带后缀.claa或者.java或者...
2、清单文件
它被命名为MANIFEST.MF,位于JAR文件的META-INF子目录中。
用命令行打开JAR包时,有时会报错说XX主类找不到,问题可能就出在这个清单文件中。
正确的做法是:
①用winrar等解压文件打开JAR文件。
②找到META-INF子目录下的清单文件MANIFEST.MF。
③往里面加入一行描述主类的命令:
Main-Class: com.company.mypkg.MainAppClass
注意事项:
:号和com之间有一个空格。
从com到mypkg是主类的路径。
MainAppClass是主类名,后面不需要带扩展名。
3、多版本JAR文件
这类JAR文件存在的唯一目的是支持我们的某个特定版本的程序或库能在多个不同的JDK版本上运行。
也就是说,每当我们要增加新功能或者改变一个API的时候,就应该提供一个新版本的JAR文件。
有时java前面版本能用的函数或者接口,到下一个版本就用不了了。这时我们要换新的函数,也就意味着JAR文件该更新了。
原文:https://www.cnblogs.com/yizhinailu/p/12548231.html