我知道这已经被问了一百万次并且我确实做了功课,但我不完全理解的最后一件事是,是否有“Java EE JDK”?
当我下载 SDK 时,它会尝试安装很多我不想要的垃圾。所以我做了一些阅读并意识到实际上 Java SDK 是一组在技术上与 JDK 无关的工具。所以我正在寻找的只是一个干净简单的 JDK 独立下载。
我们知道“Java SE JDK”一直可以从 Sun(现在的 Oracle)网站获得。但是,我正在开发一个 Web 应用程序并且对 Java EE 的一些特性感兴趣:javax.servlet、javax.validation、javax.persistence 和 javax.transaction。所以实际上我真正在寻找的是“Java EE JDK”。
我使用的是典型的 Maven / Tomcat / Spring / Hibernate 设置,过去我总是在 Maven 提供的范围内为 Java EE 规范的这些部分添加仅 API 依赖项到我的项目中,即:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
因此,如果我为我的项目所需的所有 Java EE API 执行此操作,那么我实际上是在使用 Java SE JDK 和一些额外的手动声明的 Java EE 组件。此外,当我指示我的 IDE 使用 Java EE SDK 安装附带的 JDK 时,这些额外的命名空间不可用。
换句话说,从所有意图和目的来看,Java EE SDK 下载附带的 JDK 似乎等同于我在安装“Java SE JDK”时获得的 JDK……如果这是正确的,那么有我不需要安装 Java EE SDK,我可以简单地使用 Java (SE) JDK,按照我上面描述的方式将我需要的任何 Java EE 组件声明为 *-api/provided 依赖项。
所以我的问题是:我上面描述的是正确的方法,还是有“Java EE JDK”之类的东西?即带有诸如javax.servlet 和javax.resources 之类的未实现接口的JDK?如果存在这样的野兽,我该从哪里下载?