2012-10-09 74 views
1

我有一個小型的java項目。我想保持一個結構,以便如何在我的項目文件夾中組織文件。javac從文件夾A編譯文件到文件夾B(linux)

有3個文件夾:bin/res/src/。 在src中都是源文件。 res是一些資源,如打印的文本文件是在運行時保存的文件。 在bin中,所有二進制文件應該在哪裏。

我發現,我可以用-d參數編譯我的源文件到bin文件夾。

javac -d bin src/*.java

但我無法從我的項目文件夾運行java bin/Main它給了我一個ClassNotFound的錯誤。 (在bin去,然後運行java Main作品。爲什麼?)

第二個問題是,該水庫文件只有當res/bin/訪問。我希望它有點像在Eclipse中。在res/中使用的源代碼文件與執行程序在項目文件夾中一樣。

我希望你明白我想要做什麼。並感謝您的幫助!

回答

2

Java需要.class文件可從類路徑根目錄中定位。所以如果你的類路徑是.,那麼類com.mycompany.MyClass應該在./com/mycompany/MyClass.class。因此,要從基本目錄運行文件,請通過將-cp bin命令行參數設置爲java來設置類路徑。

你如何試圖去res文件?如果你使用上面的-cp技巧,你應該可以使用類似new FileReader("res/file1.txt")的東西。如果你在bin文件夾中運行,你需要new FileReader("../res/file1.txt")

+0

謝謝你的工作。 是的,我正在像你剛纔提到的那樣訪問它們。 在手冊頁中有關於源路徑和類路徑的信息。 我有點困惑,因爲-d參數將我的文件編譯到另一個文件夾中。但是classpath做什麼呢? (和sourcepath ??) – a2r

相關問題