2014-12-28 167 views
2

這可能是一個相當愚蠢的問題。我剛剛學習瞭如何在java中使用外部庫,方法是將.jar文件添加到類路徑中,但不知道如何保存.jar文件?在關於將.jar文件添加到類路徑的視頻教程中,程序員只是將.jar文件保存在他的下載文件夾中。那麼你可以把文件放在任何地方?還是有一個通用的範例來說明你應該遵守的庫文件的保存位置?你在哪裏把外部庫的.jar文件放在java中

+1

通常jar文件被放到你的項目裏面的lib文件夾 –

+0

可能的重複[在哪裏放外部的瓶子?](http://stackoverflow.com/questions/325524/where-放置外部罐子) –

+2

您可能還想對依賴管理器系統進行一些研究,比如Maven – MadProgrammer

回答

1

這是更好地使用依賴管理系統maven但如果你有限制爲隨後,

它總是更好地把你的jar文件裏面在你的項目lib文件夾,因爲在遷移時間它會幫助你把所有東西都放在一個地方。

如果是多個項目,最好在服務器上放置一個jar文件的位置。

+0

這是否意味着當你創建另一個項目時,你創建了另一個副本?似乎對我來說是多餘的 – MadProgrammer

+0

如果有多個項目,最好在服務器上集中一個位置,在這個位置放置像'maven'這樣的常見jar。但是如果你正在運行單個項目,我會更喜歡lib是你的jar文件的首選位置。 –

+0

因此,也許使用像Maven或Ivy這樣的依賴管理系統...... – MadProgrammer

0

只要JVM可以訪問,.jar文件就可以保存在任何地方。如果您使用javajavaw命令來執行您的java應用程序,使用-cp開關指定.jar文件足以讓java知道在哪裏可以找到額外的類。

所以,如果你下載的commons-IO-2.4.jar在您的下載文件夾,您可以使用下面的命令與在Apache下議院IO庫中的所有類運行程序:

java -cp ~/Downloads/commons-io-2.4.jar YourMainClassName

但即使您可以在任何地方引用.jar文件,但是將所有外部庫放在lib /目錄中需要一個項目是一種慣例,因此可以輕鬆找到它們。

參考文獻:

http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html,看到-cp節特別

0

在正常使用情況下運行簡單的Java應用程序把JAR隨時隨地將在哪裏工作,通過IDE運行。

當你到Web應用程序開發,你會看到,有必要把外部的JAR在WEB-INF/lib目錄。否則,當您部署應用程序時,服務器將無法在運行系統中找到JAR,並會拋出java.lang.ClassNotFoundException。您也可以將JAR直接放在Server lib文件夾下,但這不是常規慣例。

對於Swing/SWT應用程序,外部JAR需要與可執行應用程序一起打包/發貨。在這些情況下,您應該將JAR文件放在項目文件夾中,最好放在LIB文件夾下。例如看看這個網站:Executable JAR