【问题标题】:Separating client and server side deployments JavaEE & Website dev分离客户端和服务器端部署 JavaEE 和网站开发
【发布时间】:2015-02-28 15:18:55
【问题描述】:

我需要将 2 个包部署到 Wildfly:
1. EAR 文件 - 包含所有服务器端 (JavaEE) 代码。
2. WAR 文件 - 包含网站代码 (HTML,JS,CSS...)。

为了使网站路径类似于localhost:8080/somename/index.html,我需要在Maven 中指定<finalName>somename</finalName>。另一方面,EAR 文件包含 RESTful 内容,为了使 REST 位于 somename 上下文根目录下,我将适当的标签添加到 maven-ear-plugin
现在...我猜Wildfly 不喜欢用同名注册两件事,所以我无法部署网站。

解决这个问题的正确方法是什么?将两个同名项目合并,只交付一个包??也许改变 EAR 的上下文根,因为它是“RESTful voodoo 的东西”,这并不重要?

我真的很想在同一个上下文根目录下注册这两个,但将两个项目分开。

【问题讨论】:

  • 为什么不简单地将多模块 Maven 项目与单个 WAR 部署一起使用?您可以将所有 EJB 和 REST 内容放入单独的 Maven 模块中,但仍然构建单个 WAR,其中 EJB 和 REST 模块最终位于 WEB-INF/lib 中。
  • 一切都有自己的模块。所有服务器端代码都打包在一个包含一个 ejb 文件和一个 war 文件(用于 REST)的 ear 文件中。该网站在另一场战争中单独打包,以便在需要时替换它,而不对服务器代码做任何事情

标签: maven jakarta-ee wildfly


【解决方案1】:

您不能在同一上下文中注册两个不同的 WAR。由于您希望将业务逻辑与 UI 分开,因此最好在不同的上下文中将 WAR 注册到您的 REST 服务中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-21
    • 2021-12-11
    • 1970-01-01
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    相关资源
    最近更新 更多