JAR文件是压缩的,使用zip压缩格式
创建JAR文件
通常的命令格式:jar cvf JARFileNam file1 file2 ...
例如:jar cvf CalculatorClasses.jar *.class icon.gif
清单文件
用于描述归档特征的文件
命名为MANIFESR.MF 位于META-IEF子目录内
编辑清单文件需要将希望添加到清单文件的行放到文本文件中运行
jar cfm JARFileName ManifestFIleName ..
要创建带清单的jar文件,应该运行
jar cfm MyArchive.jar manifest.mf com/mycompany/mypkg/*.class
更新现有JAR文件的清单
jar ufm MyArchive.jar maifest-additions.mf
可执行JAR文件
- 使用jar命令的e选项指定程序的入口点
jar cvfe MyProgram.jar com.mycompany.mkpkg.MainAppClass file to add
- 在清单中指定应用程序的主类
Main-Class:com.mycompany.mkpkg.MainAppClass
不要将扩展名.class加入主类名中
资源
要获取jar文件中的资源文件需要根据类的位置定位文件,例如:
URL url = ResourceTest.class.getResource("about.gif");
Image img = new ImageIcon(url).getImage();
意为在找到resourceTest类的地方查找about.gif文件,图像或声音文件使用getresource(filename)获得url,然后利用getImage或getAudioClip方法获取.
非图像或声音文件可以使用getResourceAsStream方法读取文件的数据
密封
可以将java包密封保证不会有新类加入以访问包可见的特性.
密封方法:
- 清单文件主节加入:Sealed: true
- 单独报在jar文件清单增加一节;如:
Name: com/mycompany/misc/
Sealed: false