我在这里高跟鞋!
我从此链接下载了 Java EE 7 SDK http://www.oracle.com/technetwork/java/javaee/downloads/java-ee-sdk-7-downloads-1956236.html
安装期间。我强制安装 GlassFish 。不知道 Java SE 安装,我没有选择 Java EE 库的位置!
现在我离开了 GlassFish !我知道我迟早要将我的应用程序部署到应用程序服务器中,但我只需要将 Java EE 库包含到我的Eclipse java项目中(甚至不是eclipse web项目。我组装了我的使用 ant ) WAR 。
我相信我可以继续在 Run-Jetty-Run ( Eclipse 插件)中包含 Java EE 库,以便从eclipse运行jetty运行配置类路径,并毫无问题地启动我的应用程序。
所以我的问题是:
我正在尝试用最少的抽象来做事情,以了解更多并了解真实情况。这就是为什么我更喜欢使用常规 Eclipse java项目中的 ant 来组装我的 WAR 文件,而不是动态Web项目。
答案 0 :(得分:4)
Java EE SDK文件在哪里?!?!
Windows上的默认位置是c:\ glassfish4。为何选择GlassFish?见下文。
为什么我被迫使用GlassFish?
GlassFish 4.0是Java EE 7.0的“参考实现”。那是什么意思?这意味着它是衡量兼容Java EE 7.0服务器的基准。它构成了其他Java EE服务器(如JBoss或TomEE)必须通过的Java EE测试套件的基线。
我在这里有任何误解吗?我是否正确理解我可以将Java EE库包含在我的应用程序的类路径中,该路径在任何servlet容器中运行并在我的应用程序中休眠而没有任何问题?
是的,您对Java EE应用程序的工作方式存在误解。您的服务器在其运行时类路径中提供标准Java EE API JAR,因此您的应用程序不需要包含它们。 servlet容器是Java EE服务器的一部分。还有一个EJB容器和一个Application Client容器。部署到servlet容器的Web应用程序可以使用标准Java EE服务和API,例如用于RESTful Web服务的JAX-RS,用于数据库访问的JPA等。
是否仍然可以使用ant汇编WAR文件而不使用库,并通过Eclipse在GlassFish上运行它?
这就是大多数Java EE开发的工作原理,是的。然而,人们越来越多地使用Maven而不是Ant,因为使用例如创建骨架应用程序非常容易。 Code Haus Maven原型,Maven将处理下载和安装正确的工件以编译您的应用程序,并正确打包以允许它在GlassFish,JBoss,TomEE等上运行。