2012-12-07 93 views
5

我在Java中製作了一個使用gui顯示其.java源文件的小程序。它不使用FileChooser來做到這一點。我讀的.java源與下面的語句使用項目自己的.java文件作爲資源文件

String resName = "/dev/classes/"+name+".java" 
Scanner s = new Scanner(FilePrinter.class.getResourceAsStream(resName)); 

的援助,其中name是java文件即名,如果該文件是MyProg.java然後name==Myprog。當然我的程序是在dev.classes包裏面

問題是,當我將我的項目導出到JAR幷包含源文件時,這是可行的,因爲源文件駐留在/dev/classes/目錄中。

但是,我還沒有發現一種方法來讓我的程序在Eclipse或從命令行運行而不會給我例外。

當然,當有人試圖將這些源文件自動添加爲資源文件時,該過程將失敗。

從Eclipse和JAR運行時,我能以某種方式使用相同的代碼嗎?它一定是非常微不足道的,但因爲我不是Java專家,所以我看不到。

+0

這只是確保源代碼位於Eclipse所製作的Jar內部的問題。如果是,它會起作用。 –

+0

謝謝@安德魯 - 湯普森。我已經確認了它,它可以在jar中運行,但不能直接從Eclipse運行。正如你可以理解的那樣,它不像一般的讓我們說.txt文件。 .java文件不會被Eclipse複製到/ bin /目錄! –

+0

*「它不像一般的讓我們說.txt文件。」* Java源通常是一種特定的編碼,擴展是不同的,雖然它裏面有'Java代碼',但它非常像文本文件到計算機(或軟件)。 –

回答

0

我發現如何去做。其實你必須使用Ant或Maven。但是,這可以在Eclipse中完成以下操作:

在Eclipse項目屬性> Java構建路徑上,您可以選擇底部默認輸出文件夾:<your_project_name>/src

這會導致類文件被編譯到與.java文件相同的目錄中,並最終做我想要的。

感謝@AndrewThompson建議嘗試此操作