【发布时间】:2015-10-28 07:04:30
【问题描述】:
我正在开发一个 Java EE 应用程序,我打算在 Java EE 应用程序服务器上运行它(我选择了 Glassfish)。
我知道 Glassfish 是 Java EE 平台的参考实现 (RI),它实现/包含 Java EE 规范的各个参考实现。如果我错了,请纠正我,但这让我明白 Glassfish 的二进制文件将包含所有相关的 RI 罐子。
我使用 Maven 作为我的构建/项目管理系统,我将在 WAR 文件中构建/打包我的应用程序(因为我的应用程序是 Java EE Web 应用程序)。然后我会将这个 WAR 部署到我的应用服务器 Glassfish 上,然后它就会运行。
我的问题是,我是否需要在我的 Maven pom.xml 文件中指定 Java EE 依赖项?
我使用 Eclipse 作为我的 IDE,目前我需要包含这些依赖项,否则 Eclipse 将无法识别 Java EE 源 - 它会抱怨编译时错误。
但是,如果我确实包含在我的 pom.xml 中,那么这是否意味着我在我的应用程序(在 WAR 文件中)中复制了外部依赖项(Java EE RI jars),而像 Glassfish 这样的应用程序服务器已经提供了它?因为 Maven 会下载这些 jars 并放入您的代码库 - 对吧?
for.eg(仅以JMS为例):
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>2.0.1</version>
</dependency>
我需要上面吗?我知道如果我针对 Tomcat 进行开发我肯定会这样做,因为它是一个 Servlet 容器并且没有其他完整的 Java EE 规范。
- 这是我有点困惑的部分,我希望有人能对此有所了解。
【问题讨论】:
标签: java eclipse maven jakarta-ee glassfish