有时候为了更方便快捷的部署和执行Java程序,要把java应用程序打包成一个jar包。而这个基础的操作有时候也很麻烦,为了方便java程序员们能够方便的打包java应用程序,下面对jar命令进行介绍,并举出几个简单例子针对不同情况进行打包。
一. jar命令用法:
在cmd命令窗口下输入jar,回车,就会提示改命令的用法:
二.例子(这里介绍的都是生成双击可执行的jar包):
1.首先介绍如何在命令行下执行打包程序。
1.1.没有包结构的最简单的工程。
(1)在c:盘下新建文件“HelloWorld.java”:
(2)在命令行下输入
c:javac HelloWorld.java
,在c:盘下编译生成“HelloWorld.class”。
(3)在c:盘下新建文件“menefest”(没有后缀名):
注意最后要有一个空行
,否则会出现找不到类的错误。
(4)打包:输入 c:jar cvmf menifest HelloWorld.jar HelloWord.jar HelloWorld.class,在c:盘下生成“HelloWorld.jar”。
(5)执行:输入c:java -jar HelloWord.jar。屏幕回显“HelloWorld”。
1.2.有包结构的java工程。
(1)在c:comgosyldemo下新建文件“HelloWorld.java”:
(2)在命令行下输入 c:javac com/gosyl/demo/HelloWorld.java ,在c:comgosyldemo文件夹下编译生成“HelloWorld.class”。
(3)在c:盘下新建文件“menefest2”(没有后缀名):
注意最后要有一个空行
,
冒号后面要一个空格。
否则会出现找不到类的错误。
(4)打包:输入 c:jar cvmf menifest2 HelloWorld.jar HelloWord.jar com/,在c:盘下生成“HelloWorld.jar”。
(5)执行:输入 c:java -jar HelloWord.jar 。屏幕回显“HelloWorld”。
1.3.引用到外部jar包的java工程。
(1)在c:comgosyldemo下新建文件“Car.java”:
(2)在c:comgosyldemo下新建文件“Light.java”:
(3)打包1:输入 c:jar cvf Light.jar com/gosyl/demo/Light.class,在c:盘下生成“Light.jar”。
(4)在c:盘下新建文件“menefest-car”(没有后缀名):
一. jar命令用法:
在cmd命令窗口下输入jar,回车,就会提示改命令的用法:
二.例子(这里介绍的都是生成双击可执行的jar包):
1.首先介绍如何在命令行下执行打包程序。
1.1.没有包结构的最简单的工程。
(1)在c:盘下新建文件“HelloWorld.java”:
1
public
class
HelloWorld
2 {
3 public static void main(String[] args){
4 System.out.println( " Hello world! " );
5 }
6 }
2 {
3 public static void main(String[] args){
4 System.out.println( " Hello world! " );
5 }
6 }
(3)在c:盘下新建文件“menefest”(没有后缀名):
Main
-
Class: HelloWorld
(4)打包:输入 c:jar cvmf menifest HelloWorld.jar HelloWord.jar HelloWorld.class,在c:盘下生成“HelloWorld.jar”。
(5)执行:输入c:java -jar HelloWord.jar。屏幕回显“HelloWorld”。
1.2.有包结构的java工程。
(1)在c:comgosyldemo下新建文件“HelloWorld.java”:
package
com.gosyl.demo;
public class HelloWorld{
public static void main(String[] args){
System.out.println( " HelloWorld " );
}
}
public class HelloWorld{
public static void main(String[] args){
System.out.println( " HelloWorld " );
}
}
(2)在命令行下输入 c:javac com/gosyl/demo/HelloWorld.java ,在c:comgosyldemo文件夹下编译生成“HelloWorld.class”。
(3)在c:盘下新建文件“menefest2”(没有后缀名):
Main
-
Class: com.gosyl.demo.HelloWorld
(4)打包:输入 c:jar cvmf menifest2 HelloWorld.jar HelloWord.jar com/,在c:盘下生成“HelloWorld.jar”。
(5)执行:输入 c:java -jar HelloWord.jar 。屏幕回显“HelloWorld”。
1.3.引用到外部jar包的java工程。
(1)在c:comgosyldemo下新建文件“Car.java”:
package
com.gosyl.demo;
public class Car
{
public static void main(String[] args){
Light.on();
}
}
public class Car
{
public static void main(String[] args){
Light.on();
}
}
(2)在c:comgosyldemo下新建文件“Light.java”:
package
com.gosyl.demo;
class Light
{
public static void on(){
System.out.println( " Light is on! " );
}
}
class Light
{
public static void on(){
System.out.println( " Light is on! " );
}
}
(3)打包1:输入 c:jar cvf Light.jar com/gosyl/demo/Light.class,在c:盘下生成“Light.jar”。
(4)在c:盘下新建文件“menefest-car”(没有后缀名):
Main
-
Class: com.gosyl.demo.Car
Class - Path: Light.jar
Class - Path: Light.jar
注意最后要有一个空行,冒号后面要一个空格。否则会出现找不到类的错误。
(5)打包2:输入c:jar cvmf menifest-car Car.jar com/gosyl/demo/Car.class,在c:盘下生成“Car.jar”。
(6)执行:输入c:java -jar Car.jar。屏幕回显“Light is on”。
三.总结
清单文件menifest,对格式要求很高,注意每个冒号后面要有一个空格,文件最后要有一个空行。对于引用到外部jar包的工程,需要在manifest中定义好Class-Path属性。