命令行下【打jar包】&【引用jar包】简单使用

命令行下【打jar包】&【引用jar包】参考使用


  • 一、cmd环境说明
  • 二、打jar包的步骤
  • 三、jar运行结果
  • 四、使用二,三目录中的jar包
  • 五、可能出现的错误
  • 六、参考资料

一、cmd环境说明:

64位jdk1.8.0_91 ( windows7 64bit ):

命令行下【打jar包】&【引用jar包】简单使用_第1张图片

二、打jar包的步骤:

1、编译生成两个需要打包的class(com.guan包下,编译过程省略),如下:

命令行下【打jar包】&【引用jar包】简单使用_第2张图片

package com.guan;
public class TestClass2{
    private String name;

    public TestClass1(String name){
        this.name=name;

    }
    public String getName(){
        return this.name;
    }

}
package com.guan;
public class TestClass2{
    private String name;

    public TestClass2(String name){
        this.name=name;

    }
    public String getName(){
        return this.name;
    }

}
2、使用一个foo目录用于存放所有需要打包的文件路径及其class:(见上图/Myjava/foo/com/guan)。

命令行下【打jar包】&【引用jar包】简单使用_第3张图片

3、创建一个Manifest.mf文本文件(本文使用notepad文本编辑器新建和编辑),内容见图:

这里写图片描述

三、使用jar进行打包:

使用命令行运行(注意切换到相应的目录下):

    jar cvfm test.jar MANIFEST.MF -C foo/ .

结果:
命令行下【打jar包】&【引用jar包】简单使用_第4张图片
其中,

    test.jar————为打的包名
    MANIFEST.MF ————为使用到的文件,即在二中创建的
    -C ————更改为指定的目录并包含其中的文件,如果文件为目录,则递归处理
    . ————表示当前路径    

命令行下【打jar包】&【引用jar包】简单使用_第5张图片

    结果见四步骤中的第一个图,test.jar文件。

四、使用二,三步骤中的jar包:

1、  写一个类调用上述jar包,如UseTestJar.java,路径见下图:

命令行下【打jar包】&【引用jar包】简单使用_第6张图片

import com.guan.TestClass2;//这里导入包

public class  UseTestJar{

    public static  void  main(String[] args) {

        TestClass2 test= new TestClass2("Guan");//这里使用上述包中的某个类
        System.out.println(test.getName()+",hello");
    }
}
2、命令行编译该UseTestJar.java代码

使用javac cp命令编译(带上test.jar的绝对路径/相对路径,-cp参数使用java说明来看):
这里写图片描述

3、运行useTestjar的class代码

a) 使用命令行参数来运行

    Java –cp .; test.jar UserTestJar

这里写图片描述

    需要注意的是,在运行语句中:test.jar前面是一个点号加分号(在linux下,使用冒号分隔路径),后面的调用类是写类的全路径(带包名的),不是类所在的物理路径(也可以是相对路径)。

b) java 命令的-cp参数可以指定类的查找路径,可以将这路径设置为环境变量(以应对jar包比较多的情况),如classpath。

命令行下【打jar包】&【引用jar包】简单使用_第7张图片

命令行下【打jar包】&【引用jar包】简单使用_第8张图片

五、可能出现的错误:

1、MANIFEST.MF文件内容:

命令行下【打jar包】&【引用jar包】简单使用_第9张图片

注意:属性与值之间的冒号后需要留出一个空格,否则将会报错(无效头部域,如下图):

命令行下【打jar包】&【引用jar包】简单使用_第10张图片

2、编译及运行的路径参数选择问题,见本文前述部分。

六、参考

1—— [命令行下Jar包打包小结]

2—— [java在cmd环境下编译引用第三方jar包的类]

你可能感兴趣的:(Tips)