2011-12-02 65 views
0

這在我看來似乎是一個微不足道的問題,但是我得到答案很麻煩。編譯依賴於罐子的打包項目

我在eclipse中開發了一個項目,它依賴於駐留在項目根目錄中的jar文件。我所有的文件都位於src文件夾中的「a.b.c」包中。它在eclipse中運行得很好。我現在想從命令行運行這個項目。我做這個命令編譯項目:

javac -classpath dependency.jar -d ./bin/ ./src/a/b/c/*.java

一切編譯成class文件並投入斌/ A/B/C文件夾中。然後,我做的這些命令來運行項目:

cd bin

java -cp ../dependency.jar a.b.c.Main

現在,我得到 「java.lang.NoClassDefFoundError:A/B/C /主」。

那麼,如何運行包中的項目並依賴於jar文件呢?

回答

1

就包括在classpath當前目錄以及 - 即java -cp ../dependency.jar:. a.b.c.Main

+0

thankyouthankyouthankyouthankyou !!!!!! 11 – Robz

1

您還需要在類路徑中指定編譯的文件,這些文件將包含您的a.b.c.Main。在* nix風味機器上,cp的路徑分隔符是冒號(:),在窗口上是分號(;),所以在* nix上,你的運行命令應該是(因爲你是從bin目錄運行的):

java -cp ../dependency.jar:. a.b.c.Main 
相關問題