我有一個名爲「MyTools」的jar。該jar文件位於c:\ data文件夾中。我在名爲「UseTools.java」的文件夾中創建了一個新文件。現在我想在我的UseTools.java中使用MyTools.jar中的一些類。我試過,但它似乎沒有工作:如何使用沒有包信息的jar文件?
import MyTools.*;
public class UseTools
{
public static void main(String[] args)
{
MyTools.SomeClass foo = new SomeClass();
SomeClass.doSomething();
}
}
我試圖編譯此:
javac -cp . UseTools.java
,並得到該錯誤消息:
UseTools.java:1: package MyTools does not exist
import MyTools.*;
^
UseTools.java:7: package MyTools does not exist
MyTools.SomeClass foo = new SomeClass()
^
2 errors
我沒設置包任何班級的名字。
我必須在我的罐子類設置包的名字嗎?
你可以在命令行運行'jar -tf MyTools.jar'併發布輸出嗎?也許你的jar沒有正確打包。 – karoberts 2010-02-23 17:29:23
我使用netbeans創建了jar。當我做一個-tf時,它會在根中返回一個META-INF文件夾和SomeClass.class。 – vikasde 2010-02-23 17:37:41
首先在Java中包名應該全部小寫。類名應該是CamelCase。 – 2010-02-23 18:00:41