我知道這已被問了一百萬次,我做了我的功課,但我不完全理解的最後一件事是,有沒有「Java JDK」?有沒有一個Java EE的JDK
當我下載SDK時,它會嘗試安裝很多我不想要的廢話。所以我做了一些閱讀,並意識到實際上Java SDK是一組技術上與JDK無關的工具。所以我在尋找的只是一個乾淨簡單的JDK獨立下載。
我們知道Sun的(現在的Oracle)網站上的「Java SE JDK」一直是available。不過,我正在開發一個web應用程序,並對的一些的Java EE功能感興趣:javax.servlet,javax.validation,javax.persistence和javax.transaction。所以我真正想要的是一個「Java EE JDK」。
我正在使用典型的Maven/Tomcat/Spring/Hibernate安裝程序,並且在過去,我一直在Maven的提供範圍中向我的項目添加API-only依賴關係,這些部分是:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
所以,如果我的所有,我的項目需要,那麼我實際上使用Java SE JDK有一些額外的手動聲明的Java EE組件了Java EE的API做到這一點。此外,當我指示我的IDE使用隨Java EE SDK安裝附帶的JDK時,這些額外的名稱空間不可用。
換句話說,對於所有意圖和目的,看起來Java EE SDK下載附帶的JDK與我在安裝「Java SE JDK」時獲得的JDK相當......如果這是正確的話,我不需要安裝Java EE SDK,我可以簡單地使用Java(SE)JDK來聲明我需要的任何Java EE組件,這些組件都是我上面描述的方式用作* -api /提供的依賴項。
所以我的問題是:是我在上面描述的正確方法,還是有一個像「Java EE JDK」這樣的東西?即一個JDK,帶有諸如javax.servlet和javax.resources之類的未實現接口?如果這樣的野獸存在,我會從哪裏下載它?
我忘了在我的例子中提供的使用,但這是我在實踐中總是做的。關於我的主要問題(「是否存在Java EE JDK?」),您的答案是「否」,存在Java JDK並且存在Java EE API,並且Java EE API的接口分別分發給Java JDK ,可以使用實現的分發,也可以作爲僅用於聲明的分發。我是否正確理解這一點? –
@AmirAbiri是的,這是正確的 – Puce