3

我有一个主要的 Web 项目,其中包含通过浏览器部署和访问页面所需的所有内容。然后我有几个“功能”,每个作为一个单独的项目,可以包含到主项目中。

举个例子,我有MainAppfunctions.reportsApp

在构建这些时ant会发生以下情况:

- MainApp.war
  - mainApp/jsf/Pages.faces等
  -reportsApp/jsf/Reports.faces 等
  - WEB-INF/web.xml、mainapp-faces-config.xml、reportsApp-faces.config.xml等
  - WEB-INF/库
     - MainApp.jar
       - META-INF/* (MainApp)
       - 我的/公司/MainApp/Code.class
     -functions.reportsApp.jar
       - META-INF/* (reportsApp's)
       - 我的/公司/reportsApp/Code.class

这工作正常,据我了解.war.jar规范,是正确的。

不过,在 Eclipse 中,我想让这两个项目都打开并部署/开发到那里的 Tomcat 服务器设置。我有以下内容:

导入两个项目,设置MainApp以将ReportsApp作为项目依赖项(通过 MainApp-Properties、Java 构建路径、项目)。

注意:MainAppweb.xml指定:

<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>
/WEB-INF/reportsApp-faces-config.xml,
/WEB-INF/mainApp-faces-config.xml
</param-value>

reportAppweb.xml指定:

<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>
/WEB-INF/reportsApp-faces-config.xml
</param-value>

我在 Eclipse 创建的 MainApp-Properties-Deployment Assembly 中注意到:

src:functions.reportsApp, deployPath: WEB-INF/lib

这由 Eclipse 部署为Tomcat/webapps/MainApp/WEB-INF/lib/functions.reportsApp.war. 战争?这对我来说没有意义,也不起作用。

为了使它工作,我必须:

  • 添加到 MainApp 一个文件夹,我(通过高级部分)链接到 ReportApp 的 web 目录。
  • 将链接文件夹添加到 MainApp 的部署程序集,并选择 MainApp 的 web 文件夹作为“部署描述符文件夹”

这让我将web/*(JSF 等)内容Tomcat/webapps/MainApp和 ReportsApp 的 WEB-INF 内容合并到 MainApp 的 WEB-INF 中。

我还必须确保 MainApp 的部署程序集包含functions.reportsApp.jar以确保它被部署到MainApp/WEB-INF/lib.

当然 Eclipse 可以自己解决这一切?一个依赖于另一个 Web 应用程序的 Web 应用程序必须意味着必须正确部署依赖项?

相关问题:

4

0 回答 0