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

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


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

一、cmd环境说明:

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

命令行环境说明

二、打jar包的步骤:

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

待打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)。

这里写图片描述

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

这里写图片描述

三、使用jar进行打包:

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

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

结果:
这里写图片描述
其中,

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

这里写图片描述

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

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

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

这里写图片描述

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。

windows中使用环境变量配置jar

windows下使用环境变量来运行使用jar的类

五、可能出现的错误:

1、MANIFEST.MF文件内容:

这里写图片描述

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

MANIFEST.MF文件可能的错误

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

六、参考

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

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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值