具有分离的前端和后端的Maven JavaEE应用程序

sol*_*nqu 6 java-ee maven

我想创建一个Java EE应用程序具有完全分离FrontEnd和BackEnd.我找到了一些教程,将这两个模块打包成一个EAR文件.我可以创建它,我可以将我的应用程序部署到应用程序服务器.

出于安全原因,我现在必须单独部署FrontEnd(Tomcat)和BackEnd(Weblogic).

我有什么:

面前:

  1. JSF页面
  2. ManagedBeans

背部:

  1. 具有业务逻辑的会话Bean(EJB)
  2. 实体类.

这两层之间的通信接口是RMI呼叫.

我有一个带有这两个模块的EAR项目的第一个解决方案正在运行,因为我的backEnd模块pom.xml包装是jar:

<packaging>jar</packaging>
Run Code Online (Sandbox Code Playgroud)

因此,我可以将这个构建jar到我的frontEnd的类路径中,并且我的frontEnd看到了所需的类.

现在我尝试从我的backEnd创建ear,因为有了jar打包,我不能将所需的库包含到我的后端,并且它们在运行时丢失了.所以我把backEnd包改成ear了我的pom.xmlOk,但如果我EAR从backEnd构建,那么我就不能将它包含在我的frontEnd类路径中,而我的前端无法从backEnd中看到所需的类.

对不起,我对此完全感到困惑.你能给我任何建议或教程,说明分离这两个模块的正确方法是什么.例如,如何建立一个EAR和一个JAR同时maven?

非常感谢!

Dan*_*iel 1

在您的项目中的某个位置,您应该有一个包含 EJB 的模块以及相应的打包类型“ejb”。通常还会生成“ejb-client”工件。这可以用作前端的依赖项。前端应该被包装为“战争”,后端被包装为“耳朵”。

看一下各自的 Maven 插件(EAR、WAR、EJB):