2012-01-07 230 views
0

如果我們有一個如下結構,包括文件夾入jar文件

根(文件夾) - > - > jarss(文件夾) - >玉米(包) - > MyClass.class

和MyJar.jar(包括jarss/com.MyClass.class)位於內側(文件夾)

如何給com.myclass的路徑?

例如。 javac -cp root/MyJar.jar AnOtherClass.java

(這是行不通的,因爲在MyJar.jar文件第一,然後MyClass.class罐子裏面的文件夾)

+0

Java的默認類加載器不支持Jar-in-Jar。 – 2012-01-07 07:07:34

回答

2

你爲什麼要把*的.java文件罐?還有一件事是Java在jar中不支持jar。

如果你想這樣做,假設你有一個jar文件,其中org.test.test1.Myclass.java。 這意味着jar文件有一個文件夾org,其中會有一個文件夾測試然後test1文件夾,test1文件夾將有你的類MyClass.java。

只需設置Jar文件的路徑在CLASSPATH一樣,

設置CLASSPATH =。/ lib目錄/ MyJAR.jar

然後運行它,

javac的-classpath% CLASSPATH%org.test.test1.Myclass.java

(又找了語法和javac的屬性。)

我希望這可能會讓你對你遇到的問題有所暗示。

+0

我不把* .java文件放入jar中我問如何在jar文件中的文件夾內使用* .class文件。 – user460293 2012-01-07 07:12:40

+0

@ user460293: - 只需在classpath中設置jar文件並提供-classpath切換並使用它。但如果罐子裏有另一個罐子。那麼它將不被Java支持 – 2012-01-07 07:24:25