【发布时间】:2018-07-05 13:27:50
【问题描述】:
所以我正在尝试使用我下载的 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 的错误
我错过了什么吗?提前致谢
【问题讨论】:
-
把jar放到classpath下,导入你需要的类。
-
我不是用“import package.ItemList;”做的吗?和 javac -cp 'jar' Foo.java
-
为什么要手动下载jar文件?如果您使用 maven 为您做所有这些事情,您会为自己节省很多(依赖)问题。
-
如果您使用的是 Linux,请在类路径中使用冒号
:而不是分号;。 -
谢谢!那行得通
标签: java jar package filepath javac