Java程序可以訪問外部庫有哪些不同的方式。有設置一個類路徑,修改構建或構建路徑,但我已經看到了添加罐子的其他方式。在eclipse中設置classpath和java構建路徑有什麼區別?
爲什麼一些庫必須添加到類路徑中,而其他庫則不能。例如,我使用JSF,WTP工具和其他額外的庫,但是當我查看我的項目的構建路徑時,它們不在我的構建路徑中。
Java程序可以訪問外部庫有哪些不同的方式。有設置一個類路徑,修改構建或構建路徑,但我已經看到了添加罐子的其他方式。在eclipse中設置classpath和java構建路徑有什麼區別?
爲什麼一些庫必須添加到類路徑中,而其他庫則不能。例如,我使用JSF,WTP工具和其他額外的庫,但是當我查看我的項目的構建路徑時,它們不在我的構建路徑中。
Java構建路徑只是一個Eclipse的東西。這是Eclipse找到編譯和運行項目類所需的類的地方。這就是編譯和運行類路徑。
對於webapp,webapp在Java EE web容器內運行。 Web容器提供對標準Java EE類(javax.servlet等)的訪問。而且,WEB-INF/classes中的所有jar都會自動包含在Web應用程序的類路徑中。所以Eclipse不需要你在Java Build Path中指定它們。它們被自動包含在內。
在開發時間。
構建路徑是您可以明確指向第三方軟件/罐子的路徑。
默認情況下,並非所有第三方軟件都添加到您的類路徑中,因此您可能必須將其明確添加到您的路徑中。
運行時。
另一方面,當您從命令行運行應用程序時,您應該使用-cp指定第三方jar來爲classpath添加前綴。
例如,在Web項目中,您可以在部署時將其添加到Web-inf庫中。
類路徑只是一個描述可用類型的類路徑條目數組(IClasspathEntry
)。 classpath是一個環境變量,它告訴在哪裏尋找類文件,它通常設置爲一個目錄或一個JAR(Java歸檔)文件。
Java構建路徑反映在Java項目元素的結構中。您可以查詢項目的包裝碎片根(IPackageFragmentRoot
)。構建路徑是用於構建Java項目的類路徑(IJavaProject
)。
類路徑存儲在哪裏?它是操作系統中的環境變量還是JVM中設置的東西? – Randnum
它使用-classpath或-cp選項傳遞給JVM。在Eclipse中打開Debug視圖,在Eclipse中運行程序,右鍵單擊Debug視圖中的... javaw.exe節點,然後單擊「Properties」,查看Eclipse用來啓動程序的命令。 –