从前面的部分恢复

第1部分
第2部分

我们在第三部分继续介绍,我们已经有一个父pom,并且已经为我们的war模块定义了pom。 在我们的原始设置中,我们定义了我们的应用程序将包含一个ejb jar形式的服务jar。 这是我们的Enterprise Java Bean,特别是Session Bean。 我们还定义了另一个模块(层),它将托管实体Bean(数据库表示Bean),即所谓的域模型。

定义服务(ejb)模块

在父pom文件夹下,我们像使用war模块那样创建了一个新的子文件夹。 在这个文件夹中,我们创建一个pom.xml文件,其中包含以下内容。该文件夹的名称为sample-services。 pom看起来像这样。 最终,现在就差不多了。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>gr.javapapo</groupId><artifactId>sample-parent</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>sample-services</artifactId><name>sample-services</name>   <description>EJB service layer</description><packaging>ejb</packaging><build><finalName>${project.artifactId}</finalName></build><dependencies><dependency><groupId>javax</groupId><artifactId>javaee-api</artifactId></dependency></dependencies></project>

记住,我们已经在 pom的依赖项管理部分中定义了javaee-api jar的版本,并且在插件管理部分中还定义了一个maven插件,它将处理ejb.jar的特定包装。要求。 它是maven-ejb-plugin。 返回到父pom并搜索以上两个点。 由于在父pom中定义了所有这些元素,因此我们的ejb服务pom看起来非常小。 按照惯例,Maven将负责大部分工作。 Maven ejb插件即将启动,因为我们已定义此模块所需的包装为' ejb '。

我们的项目结构如下所示:

定义实体bean(ejb)模块

在父pom文件夹下,我们创建了一个新的子文件夹,就像之前的ejb模块一样。 我们将其命名为sample-domain。 这是我们将遵循JPA2规范对数据库表示Bean(即所谓的实体Bean)进行编码的模块。

pom看起来很简单。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>gr.javapapo</groupId><artifactId>sample-parent</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>sample-domain</artifactId><packaging>ejb</packaging><name>sample-domain</name><description>JPA entities for our project - domain model</description><build><finalName>${project.artifactId}</finalName></build><dependencies><dependency><groupId>javax</groupId><artifactId>javaee-api</artifactId></dependency></dependencies></project>

打包仍然是ejb,因为它将托管EJB类,即所谓的Entity Beans 。

我们需要打包另一件事,因为该模块将“托管”我们的域对象,所以这是一个名为persistence.xml的XML描述符,它定义了应用程序将要连接的数据源。 在Java EE 7中,此文件已大大简化,我们甚至可以跳过数据源的定义,因为已经有一个默认值。 在这里看看。 从打包的角度来看,我们现在更感兴趣的是,您需要做的是,在文件夹src / main / resources下创建一个名为META-INF的新文件夹,并在其中放置persistence.xml文件,如下图所示。

此时persistence.xml的内容无关紧要(我们将重点关注下一篇文章),您可以在此文章的git分支上查找示例。

有关创建文件夹的说明,如果使用IDE(例如Eclipse或IntelliJ)添加Maven模块,则在创建新模块并定义POM后,IDE会自动创建模块应该具有的标准布局文件夹。 Maven约定。 如果您遵循这些文章,并且使用诸如简单文本编辑器之类的简单工具编写代码,则需要自己创建src / main文件夹结构。

这就是本文的全部内容,我们为应用程序添加了2个以上的模块,但是我们仍然缺少将它们全部打包的模块,这是ear模块。 我们还没有讨论模块的“相互依赖性”,这是我们将要完成的工作,在下一个“耳朵”专用文章中,所有这些都将整合在一起。

这些简单poms的代码可以在bitbucket项目中的post3标签下找到 。

翻译自: https://www.javacodegeeks.com/2014/05/java-ee7-and-maven-project-for-newbies-part-3-defining-the-ejb-services-and-jpa-entities-modules.html

针对新手的Java EE7和Maven项目-第3部分-定义ejb服务和jpa实体模块相关推荐

  1. ejb的maven_针对新手的Java EE7和Maven项目-第3部分-定义ejb服务和jpa实体模块

    ejb的maven 从前面的部分恢复 第1部分 第2部分 我们在第三部分继续介绍,我们已经有一个父pom,并且已经为我们的war模块定义了pom. 在我们的原始设置中,我们定义了我们的应用程序将包含一 ...

  2. 针对新手的Java EE7和Maven项目-第4部分-定义Ear模块

    从前面的部分恢复 第1部分 第2部分 第3部分 我们正在恢复第四部分,目前我们的简单项目有 Web Maven模块(战争) 一个ejb模块(ejb),其中包含我们的无状态会话bean(EJB 3.1) ...

  3. java ee maven_针对新手的Java EE7和Maven项目–第1部分–简单的Maven项目结构–父pom...

    java ee maven 为什么呢 很多时候,我在日常工作中试图解决一些基本或复杂的Maven / Java EE项目结构问题. 为了提供解决方案,我经常最终会尝试项目结构,测试我在不同应用程序服务 ...

  4. 针对新手的Java EE7和Maven项目–第1部分–简单的Maven项目结构–父pom

    为什么呢 很多时候,我在日常工作中试图解决一些基本或复杂的Maven / Java EE项目结构问题. 为了提供解决方案,我经常最终会尝试项目结构,测试我在不同应用程序服务器上的部署并细化我的配置. ...

  5. java ee maven_针对新手的Java EE7和Maven项目–第6部分

    java ee maven 从前面的部分恢复 第1 部分 , 第2 部分 , 第3 部分 , 第4 部分 , 第5部分 在上一篇文章(第5部分)中,我们发现了如何使用Arquillian(我们的EJB ...

  6. java ee maven_针对新手的Java EE7和Maven项目–第5部分–使用Arquillian / Wildfly 8进行单元测试...

    java ee maven 从前面的部分恢复 第1 部分 , 第2 部分 , 第3 部分 , 第4部分 , 这是第一篇"额外"文章,基于我在该系列博客文章中"构建&quo ...

  7. 针对新手的Java EE7和Maven项目–第6部分

    从前面的部分恢复 第1 部分 , 第2 部分 , 第3 部分 , 第4 部分 , 第5部分 在上一篇文章(第5部分)中,我们发现了如何使用Arquillian(我们的EJB服务)进行单元测试,并将其部 ...

  8. 针对新手的Java EE7和Maven项目–第5部分–使用Arquillian / Wildfly 8进行单元测试

    从前面的部分恢复 第1 部分 , 第2 部分 , 第3 部分 , 第4部分 , 这是第一篇"额外"的帖子,基于我正在此系列博客文章上"构建"的Maven Jav ...

  9. java ee maven_针对新手的Java EE7和Maven项目–第8部分

    java ee maven 第一部分 , 第2部分 , 第3部分 , 第4部分 , 第5部分 , 第6部分 , 第7部分 第8部分 自上一篇文章以来,这一系列教程已经有很长时间了. 是时候恢复并在我们 ...

最新文章

  1. python与excel表格-如何用python处理excel表格
  2. ASPxPopupControl出现前一次弹框页面解决方法
  3. 信息传递(NOIP2015提高组Day1T2)
  4. ios 企业证书 ipa 重新签名发布
  5. x86汇编指令集大全注释(二)
  6. Nature:新发现挑战神经元作用传统理论 [转自科学网]
  7. 2020-11-26 采用微软自己的snipaste工具截图
  8. C# 控制台程序(Console Application )启动后隐藏
  9. HTML表格的单元格合并
  10. 1843. 圆形牛棚
  11. a标签使用方法和跳转方式
  12. html5均线图源码,通达信导航家之成本均线主图指标 源码(图文)
  13. train_transformer.py 异常:Assertion `srcIndex < srcSelectDimSize` failed.
  14. 计算机蓝牙快捷键,笔记本蓝牙快捷键是什么_怎么打开笔记本电脑蓝牙-win7之家...
  15. 集合之Map家族的TreeMap + Sort +Properties及Collections工具类和总结
  16. TSP问题解决:模拟退火、贪心法、爬山法,Python实现
  17. WebP 文件及其编码解码工具(WebPconv)
  18. 蓝桥杯-第九届决赛——采油
  19. 算法初体验之欧几里得算法
  20. 【“工业大数据预测”系列】——第3篇:基于统计和信号的特征提取

热门文章

  1. JAVA多线程总结(笔记)
  2. 计算机辐射对人体影响吗,电脑屏幕辐射对人体的危害怎么解决?
  3. springboot:BeanPostProcessor示例及分析
  4. 请求nginx静态资源报403
  5. 转:认识cpu、核与线程
  6. thinking-in-java(13) String字符串
  7. 基础笔试编程题(jz)
  8. 单列集合Set的实现类HashSet
  9. jpa embedded_JPA @Embeddable和@Embedded
  10. 将json绑定为对象_了解自定义对象创建:JSON绑定概述系列