07月16, 2018

在命令行环境Java程序调用导入的jar包中的类

当把一个程序编译得到的class文件打成jar包,我们要如何在别的程序中调用这个jar包中的类呢?

例如下面这个类:

package util;
public class MyClass{
    public static void myPrint(){
        System.out.println("myclass");
    }
}


首先来到D:\文件路径下,使用命令行编译生成class文件:

javac -d D:\ MyClass.java

然后将class文件打包:

jar cvf myclass.jar util\MyClass.class

现在有另一个程序:

import util.MyClass;
public class Test{
    public static void main(String[] args){
        MyClass.myPrint();
    }
 
}

其中调用了MyClass类,那么编译Test类就要注意添加导入jar文件的路径: 

javac -cp D:\myclass.jar Test.java

接着执行: 

java -classpath D:\myclass.jar;. Test

输出myclass,bingo!


注:

编译和执行Test过程中必须指明jar包路径,而不用设置环境变量classpath。如果仅设置classpath是行不通的;

jar包不是一层路径,故在Test的调用中直接import进util就可以了。


本文链接:https://lxyit.com/article/show/136.html

-- EOF --