我知道这个问题已经被问了无数次,我也做了功课,但我唯一不太明白的是,是否存在“Java EE JDK”?
当我下载SDK时,它会尝试安装很多我不需要的东西。因此,我阅读了一些材料,并意识到实际上Java SDK是一组与JDK无关的工具。所以我正在寻找一个干净简单的独立的JDK下载。
我们知道“Java SE JDK”始终可以从Sun(现在是Oracle)的网站上下载。然而,我正在开发一个Web应用程序,对于javax.servlet、javax.validation、javax.persistence和javax.transaction等Java EE功能很感兴趣。因此,实际上我正在寻找的是“Java EE JDK”。
我使用典型的Maven / Tomcat / Spring / Hibernate设置,并且以前我总是向我的项目中添加API-only依赖项,以提供这些Java EE规范的部分,例如:
换句话说,就所有目的而言,似乎随Java EE SDK下载的JDK与我安装"Java SE JDK"时获得的JDK等效。 如果是这样,那么我不需要安装Java EE SDK,只需像我上面描述的那样声明任何我需要的Java EE组件作为*-api /提供的依赖项即可。
因此,我的问题是:我上面描述的是正确的方法吗? 还是存在所谓的“Java EE JDK”? 即具有未实现的接口,例如javax.servlet和javax.resources等的JDK? 如果存在这样的东西,我应该从哪里下载它?
当我下载SDK时,它会尝试安装很多我不需要的东西。因此,我阅读了一些材料,并意识到实际上Java SDK是一组与JDK无关的工具。所以我正在寻找一个干净简单的独立的JDK下载。
我们知道“Java SE JDK”始终可以从Sun(现在是Oracle)的网站上下载。然而,我正在开发一个Web应用程序,对于javax.servlet、javax.validation、javax.persistence和javax.transaction等Java EE功能很感兴趣。因此,实际上我正在寻找的是“Java EE JDK”。
我使用典型的Maven / Tomcat / Spring / Hibernate设置,并且以前我总是向我的项目中添加API-only依赖项,以提供这些Java EE规范的部分,例如:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
如果我为我的项目所需的所有Java EE API执行此操作,那么我实际上是在使用带有某些额外手动声明的Java EE组件的Java SE JDK。 此外,当我指示我的IDE使用随Java EE SDK安装的JDK时,这些附加的命名空间不可用。换句话说,就所有目的而言,似乎随Java EE SDK下载的JDK与我安装"Java SE JDK"时获得的JDK等效。 如果是这样,那么我不需要安装Java EE SDK,只需像我上面描述的那样声明任何我需要的Java EE组件作为*-api /提供的依赖项即可。
因此,我的问题是:我上面描述的是正确的方法吗? 还是存在所谓的“Java EE JDK”? 即具有未实现的接口,例如javax.servlet和javax.resources等的JDK? 如果存在这样的东西,我应该从哪里下载它?