前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java EE7和Maven工程入门(3)

Java EE7和Maven工程入门(3)

作者头像
哲洛不闹
发布2018-09-18 14:12:08
4040
发布2018-09-18 14:12:08
举报
文章被收录于专栏:java一日一条java一日一条

本文开始讲述第三部分。我们已经有了一个父pom并且已经为我们的war模块定义好了pom。在原来的设置中,我们已经定义了应用程序将要包含一个以ejb jar包的形式的service jar包。我们的企业级java bean,尤其是会话bean就放那里。我们还定义了另一个主管实体bean(数据库展现bean)的模块(层),即所谓的域模型。

定义service(ejb)模块

在父pom文件夹下,我们新建一个子目录,就像我们处理war模块一样。在这个文件夹里面我们创建一个包含以下内容的pom.xml文件。文件夹的名字为sample-services。这个pom看起来就是这样。就目前而言,最终和下面的内容差不多:

记得我们已经在父pom的依赖管理部分(dependency management)定义过了javaee-api jar包的版本,在插件管理部分(plugin management)还需要一个maven插件来专门负责打包我们ejb.jar。它就是maven-ejb-plugin。可以回到父pom中,查找以上两点。由于这些元素都定义在了父pom里,所以我们的ejb service pom看起来就小多了。按照惯例,Maven将负责大多数东西。maven的ejb插件将踢开,因为我们已经定义了需要此模块的包是“ejb”。

我们的工程结构看起来是这个样子的:

工程结构

定义实体bean(ejb)模块

在父pom文件夹下,我们新建一个子目录,就像我们处理上面的ejb模块一样。我们将其命名为sample-domain。这个模块里,我们将依据JPA2规范来编写我们的数据库展现bean,即所谓的实体bean。

这个pom看起相当的简单。

包仍然是ejb,因为它将主管EJB类,即所谓的实体bean

由于这个模块将“主管”我们的域对象,所以还有另外一个我们需要一起打包的东西,一个叫做persistence.xml的xml描述符。它定义了我们的应用将连接的数据源。在Java EE7里面,这个文件已经简化了许多,我们甚至可以略过数据源的定义,因为已经有一个默认的数据源。参考这里。从包装的角度来看,现在你需要做的就是在src/main/resources文件夹下新建一个名为META-INF的文件夹,并在里面放置persistence.xml文件,如下图所示:

persistence.xml的内容在这点上不相关(我们将在下个帖子中关注这部分内容),你可以在这个帖子的git分支找到一个例子。

关于目录创建需要注意:如果你使用一个诸如Eclipse或者Intellij这样的IDE来添加maven模块,一旦你创建了一个新的模块并定义一个POM,IDE会根据Maven约定自动创建你的模块该有的标准目录结构。如果你按照这些帖子来并且你使用一个更简单的工具,例如一个简单的文本编辑器来写的你的代码,那么你就必须自己创建src/main目录结构。

以上就是这个帖子的所有内容了,我们已经为我们的应用添加了至少两个模块,但是我们仍然缺少一个打包所有东西的ear模块。我们还没有涉及到模块的“内部依赖”,这些是我们将要做的。在后面的“ear”专题里,所有的模块都将集中起来。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java一日一条 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 定义service(ejb)模块
  • 定义实体bean(ejb)模块
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档