Java学习笔记之一,用于个人记录。整理自《Head First Java》。
假设有如下目录结构:
程序入口在 Jukebox8.java。这个代码文件开头是有如下这样的包声明语句的:
package com.headfirstjava;
先进入到源码所在目录:
cd MyProject/source
javac -d ../classes com/headfirstjava/Jukebox8.java
编译后会在classes
目录下自动生成com
目录,以及com
下面的headfirstjava
目录,并把相关的.class
文件放在这个目录下:
cd MyProject/classes
java com.headfirstjava.Jukebox8
Main-Class: com.headfirstjava.Jukebox8
当前环境下,要把 manifest.txt 文件放到 classes 目录下
cd MyProject/classes
jar -cvmf manifest.txt packEx.jar com
jar
是一个可执行命令
-cvmf
是 jar
命令可接受的参数
packEx.jar
是生成之后的 JAR 文件的名字,这个名字可以随便起的
com
表示要打包的文件夹,也即是项目的类文件所在的地方
上述命令执行完后,生成的 JAR 文件会放在当前目录下。为了方便起见,先把生成的 packEx.jar
文件移动到一个叫 Skyler
的新目录下
解压可以直接用一般的压缩软件来解压,就像解压 zip 压缩包一样
cd Skyler
jar -tf packEx.jar
jar -xf packEx.jar
执行完后会生成两个目录,结构如下:
在META-INF
目录下,有一个MANIFEST.MF
文件,里面其实就相当于原来的 manifest.txt
的内容,不过更加丰富了。
而在com
目录下,则与打包前的内容是一样的
java -jar packEx.jar
原文:https://www.cnblogs.com/wuzhiblog/p/create_jar.html