2011-05-02 84 views
1

HI guys,爲什麼classpath =/tomcat_lib /不起作用

/tomcat_lib下有一個abc.jar。我需要在我def.java使用

我累

的javac -classpath/tomcat_lib/-d ../classes def.java

,但它不工作

但是,如果它的工作原理,如果我使用

的javac -classpath /tomcat_lib/abc.jar -d ....

任何人都可以幫忙解釋一下嗎?

+0

如果您想對一組jar文件執行此操作,請查看「瞭解類路徑通配符」一節:http://download.oracle.com/javase/6/docs/technotes/tools/ solaris/classpath.html – matt 2011-05-02 22:33:13

回答

6

要將jar添加到您的類路徑中,您需要指定直到幷包括.jar文件的路徑。

引述official Java SE 6 documentation at Oracle.com

每個[在你的classpath項]應該用文件名或取決於你是在 類路徑設置爲目錄 結束:

  • 對於包含.class文件的.jar或.zip文件 ,類 路徑以.zip或 .jar文件的名稱結尾。
  • 對於 未命名包中的.class文件,類路徑結尾爲 ,其目錄包含 .class文件。
  • 對於在 指定包的.class文件,類路徑結束 與包含 「根」包(在 完整的包名的第一個包)的目錄。

...並從 「文件夾和存檔文件」 的same documentation的部分:

當類存儲在目錄 (文件夾),如 C:\ java的\ MyClasses \ utility \ myapp,然後 類路徑條目指向 目錄,其中包含程序包名稱的第一個 元素。 (在這種情況下 ,C:\的java \ MyClasses,由於 包名是utility.myapp中)

但當類存儲在一個 檔案文件(.zip或.jar文件)的 類路徑條目是包含.zip或.jar文件的路徑。

+3

完美。我有同樣的問題。搜索StackOverFlow比發佈一個新問題要好得多。 – Sid 2011-05-02 22:38:06