Java,使用.jar中的类文件

时间:2018-01-26 07:45:48

标签: java jar package filepath javac

所以我试图使用我下载的jar文件中的类。 jar文件与将使用jar文件中的类的.java文件不在同一目录中。

我跑

    jar -tvf json-simple-1.1.1.jar 

我得到了

0 Sun Feb 19 14:30:56 CST 2012 org/
0 Sun Feb 19 14:30:56 CST 2012 org/json/
0 Sun Feb 19 14:30:56 CST 2012 org/json/simple/
3939 Sun Feb 19 14:30:54 CST 2012 org/json/simple/ItemList.class
2077 Sun Feb 19 14:30:54 CST 2012 org/json/simple/JSONArray.class
161 Sun Feb 19 14:30:54 CST 2012 org/json/simple/JSONAware.class
3076 Sun Feb 19 14:30:54 CST 2012org/json/simple/JSONObject.class
223 Sun Feb 19 14:30:54 CST 2012 org/json/simple/JSONStreamAware.class
3964 Sun Feb 19 14:30:54 CST 2012 org/json/simple/JSONValue.class
0 Sun Feb 19 14:30:56 CST 2012 org/json/simple/parser/

我想实现ItemList.class,现在我知道它在包

    org/json/simple/

所以在我的.java文件中我做了

    import org.json.simple.ItemList;

    public class Foo(){

    public static void main(String[]args){
    ItemList i = new ItemList();
        }
    }

我现在需要编译Foo(),所以我运行

    javac -cp '.;json-simple-1.1.1.jar' Foo.java

我得到包org.json.simple不存在的错误,但在github中,类ItemList包含org.json.simple

我错过了什么吗?提前致谢

1 个答案:

答案 0 :(得分:0)

如果jar不在同一目录中,则在指定类路径时需要指定jar目录的路径。