一、使用命令实现打包
1.1 完成单个文件打包
(1)首先,在d盘新建jarTlh文件夹,然后编写Java类Tlh。该类中代码为:
public class Tlh {
public static void main(String[] args) {
System.err.println("您好,打包成功");
}
}
将该文件保存在“D:\jarTlh”文件夹中。
(2)打开“命令提示符”。在控制台中输入“D:”命令,将当前位置切换到D盘根目录下。再通过命令“cd jarFirst”将当前位置切换到“D:\jarTlh”命令下。
(3)在“命令提示符”控制台输入“javacTlh.java”,编译源程序。源程序被编译后,会在相同位置生成“.class”文件,这是编译后的字节码文件。
(4)继续输入命令“jar vcf Tlh.jar Tlh.class”,生成Tlh.jar文件。
(5)通过上例生成的Tlh.jar文件,将其用WinRAR打开。会发现在META-INF下会有个MAINFEST.MF文件。将该文件的内容后面添加Main-Class属性,指定jar文件的入口类。
(6)运行jar文件。在“命令提示符”的控制台中,输入命令"java -jar Tlh.jar"。
1.2 完成打包多个文件
一个jar文件中只包含一个class文件并不常见,大多数情况下。一个jar文件中都有很多个class文件。
例如,在“D:Tlh目录”下,存在Second.java、Third.java文件,这两个文件中的代码如下所示:
public class Second{
public static void main(String args[]){
Third third = new Third();
System.out.println("编程");
}
}
public class Third{
public Third(){
System.out.println("学Java");
}
}
首先,通过“javac”目录编译源程序。然后,通过“jar”命令生成jar文件。
1.3将某目录中所有classs文件都打包
例如在jarTlh目录中创建classes文件夹。将要进行打包的class文件保存在classes文件夹下。并将classes文件夹下的所有文件都进行打包。
小结:
(1)多个文件的打包与单个文件打包语法相同。只要将要进行打包的class文件之间添加空格即可。
(2)如果打包的文件中包含资源文件,如(如*.gif、*.jpg、*.jpeg)。资源文件名不可以使用中文名,应使用英文的资源文件名称。否则打包后的jar文件会因为无法识别该资源文件,导致程序无法正常运行。
(3)如果要将某目录中所有classs文件都打包,可以使用“目录名称\ .”命令完成打包。(\与.之间有空格)。
(4)命令“jar vcf Frist.jar Frist.class”为生成Jar文件命令。该命令的语法格式为:
jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件
个选项说明:
c:创建新的存档。
t:列出存档内容的列表。
x:展开存档中的命名的文件。
u:更新已存在的存档。
v:生成详细输出到标准输出上。
f:指定存档文件名。
m:包含来自标明文件的标明信息。
0:存储格式。
M:不生成所有向的清单(MANIFEST.MF)文件。
i:指定jar文件产生索引信息。
C:改变到指定的目录。
二、在MyEclipse中实现程序打包
使用命令可以实现程序打包,但如果想要对很多文件、或者是整个项目进行打包,就很不方便。打开MyEclipse,选中我们要打包的项目,右键选择“Export”。
第二步,点击“Java----->JAR file”。
第三步,点击"Next"进去jar打包之后,选择要打包的项目,然后选择导出去的jar路径。
第四步选好路径,对打包成jar的文件,进行命名,点击保存,然后继续点击finish。