阿里云【名师课堂】Java面向对象开发86:jar命令
概念
jar类比于压缩文件夹(.zip、.rar),我们通常会把一些有关联性的文件放在压缩文件里,为了存储方便以及节约空间。实际上jar也是一种压缩文件,里面保存的都是*.class
文件。
- 比如说,现在要实现一个功能模块里面有几百个类,那么最终交付给用户使用的时候为了方便管理,就会将这些文件形成一个压缩包提供给用户。
jar命令
JDK提供有实现jar文件操作的命令:
但是实际操作时我们并不会这么用,因为用这种jar命令 + 选项
的方式过于麻烦。
记住jar命令的几个选项:
c
:创建一个新的归档文件f
:指定生成的jar文件的名称v
:详细显示出所有的压缩处理过程
范例:定义一个Message程序类
package TestDemo.util ;
public class Message {
public void print() {
System.out.println("【Message】Hello World") ;
}
}
之后需要:
- 1、将其编译:
javac -d . Message.java
; - 2、将生成的程序类打包为jar文件:
可以看到在当前目录下生成了一个.jar
文件。
- 这个文件可以通过winrar工具打开, 里面有一个META-INF目录,META-INF目录中有一个MANIFEST.MF文件,内容是Java的版本,也可以人工在里面添加内容,用作文件属性、备忘之类。
程序类的位置:
此时的msg.jar就包含了所需的程序类,这时如果把原目录中的包删除,而保留msg.jar文件,应该怎么调用? - 并不是简单的将其放到程序的目录之中,而是需要配置CLASSPAT,设置jar文件的加载路径。
SET CLASSPATH=.;d:\mydemo\msg.jar
范例:编写一个测试程序,调用msg.jar包中提供的Message类
package TestDemo.util ;
public class RunTest {
public static void main(String args[]) {
TestDemo.util.Message msg = new TestDemo.util.Message() ;
msg.print() ;
}
}
总结
以后的开发过程中会使用大量第三方程序包(.jar文件),这些开发包都必须在CLASSPATH中配置之后才能使用。
目前还是不适应博客园的界面,等学成了再回归吧,对我来说当下还是csdn比较方便快捷:https://blog.csdn.net/weixin_43624945