Joh*_*ash 9 java eclipse java-ee maven
我最近在做了Java SE几年后开始学习Java EE 6(和其他语言一起).我已经购买了关于Maven,EJB,JSF,Glassfish等的不同书籍(虽然还没有读过它们),我觉得完全不知道只是制作一个项目的复杂性.
我如何从eclipse中的"scratch"(不是从书中的一个例子中复制一个)开始一个项目?我可以选择动态Web项目,Maven项目,EJB项目,EAR应用程序等.如果我想创建一个内部有EJB/JPA和JSF的应用程序(Web应用程序),我应该使用哪个?
我知道标准Maven目录布局和原型,但我不知道如果这是这样做的选择.当然,我知道有很多方法可以做到这一点,这取决于我将用它做什么,但我正在学习Java EE 6,所以我想至少掌握一些如何设置基础项目的知识.好.
我也对POM文件感到不知所措.我如何知道开始使用Web应用程序时需要哪些依赖项?或者这是否包含在正确的原型中(如果我找到一个?)
我使用Glassfish作为应用程序服务器,Eclipse,EJB,JPA和JSF.目前仅从书籍示例中学习.
Shi*_*gon 11
好吧,对你的问题的完整答案几乎需要一本关于它的书,但这里有一些指示.
Java EE应用程序的概念表示使用一个或多个Java EE API实现并需要运行Java EE应用程序服务器的任何类型的Java应用程序.Java API就是这样的:Servlet,JSP,EJB,JPA等.这些API的实现通常由应用程序服务器提供(类似于Tomcat具有servlet和JSP实现,Glassfish也具有这些API以及EJB等).有一些非应用服务器Java EE API实现,比如Hibernate的JPA实现.简而言之,如果您在应用程序中使用其中一些API实现并将其部署到某些应用程序服务器(如Tomcat,Glassfish,JBoss AS等)中,那么您就拥有了一个Java EE应用程序.
我告诉过你所有这些,因为实际上,大多数项目管理工具(如Eclipse,Maven等)都使用Web-Application,EJB Module,Dynamic Web Project等这些细分作为自定义面额来建立球场.您的应用程序将使用哪些Java EE API.IE Web应用程序或动态Web项目将更有可能使用Servlet和JSP的API,EJB模块会(杜)使用EJB的API等.正如我所说,这些是球场面额.动态Web应用程序也可以使用EJB或JPA,它不像是一成不变的.
当您使用这些工具(如Eclipse或Maven)中的任何一个时,要启动上述命名项目之一,例如Elcipse中的Dynamic Web Project或使用Maven的标准Web应用程序,相应的工具将添加常识依赖项您的模板项目(在本例中类似于Servlet和JSP),然后让您从这里处理它.
这里的想法是在项目开始使用之前了解所选工具的每种模板.就像你决定使用Eclipse并从动态Web项目开始一样,你应该看看Eclipse对你的要求以及做什么时它会做什么(它会询问你本地安装的Java EE应用服务器的位置.将引入诸如Servlet Implemnentation和JSP实现之类的依赖关系.或者如果您选择Maven并启动标准Web项目,您应该通过pom.xml文件查看它添加到项目中的依赖项,THAT pom.xml文件的基本功能是什么,等等.您还应该检查当您告诉它执行此操作时,每个工具如何部署您的应用程序,它是否使用Java EE服务器的某些热部署功能,是否需要凭据才能首先访问该服务器等.
我的简要建议是从最基本的示例开始:安装Tomcat(建议使用版本7),启动Eclipse for Java EE Development,将Tomcat安装添加到Eclipse配置中,启动一个使用该Tomcat作为Application服务器的Dynamic Web项目,然后只做一些基本的servlet和JSP页面,然后使用Eclipse将该sucker部署到tomcat并运行它.然后你可以分支到更高级的东西,比如用Maven做同样的事情,用Eclipse集成Maven项目,添加一些Java EE Stuff(比如JPA Implenentation)等等.
我可以从 Dynamic Web 项目、Maven 项目、EJB 项目、EAR 应用程序等中进行选择。如果我想制作一个内部包含 EJB/JPA 和 JSF 的应用程序(Web 应用程序),我应该使用哪个?
在 EJB 3.1 规范之前,不可能在 war 文件中部署 EJB,但现在可以了。因此,对于快速原型,如果您需要并且更熟悉的话,您可以使用 war 文件而不是 Ear 文件。当然您也可以将其部署在 .ear 文件中。
我相信 Eclipse 中的动态 Web 项目会生成一个 .war 文件,您可以将其部署在 AS 中。
如果您使用 Maven,您还可以预先使用 Maven 创建项目,然后使用 Maven 导入(通过 M2Eclipse 插件)。这对我来说效果很好。然后,使用Glassfish Maven 插件,您可以通过命令行将应用程序部署到 Glassfish。
我也对 POM 文件感到不知所措。我如何知道开始使用 Web 应用程序时需要哪些依赖项?或者这是否包含在正确的原型中(如果我找到一个?)
您至少需要“提供”范围内的 Java EE 依赖项,因为服务器可能会为您提供这些依赖项。这样,您就可以在编译模式下使用它们。例如,JBoss Java EE 5 堆栈如下(不确定 GlassFissh 依赖关系,但重要的是不要将该库包含在 .ear / .war 中以避免库冲突):
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>javaee-api</artifactId>
<version>5.0-1</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
补充:正如您所说,一开始这可能会令人不知所措,我认为这是关于如何设置 Glassfish / Java EE 项目的好资源。选择您感兴趣的部分并祝您好运。
| 归档时间: |
|
| 查看次数: |
15148 次 |
| 最近记录: |