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