我有一个主要的 Web 项目,其中包含部署和通过浏览器访问页面所需的所有内容。然后我有几个“功能”,每个功能都是一个单独的项目,可以包含在主项目中。
举个例子,我有MainApp and 函数.reportsApp.
当构建这些时ant
发生以下情况:
- MainApp.war
- mainApp/jsf/Pages.faces, etc
- reportsApp/jsf/Reports.faces, etc
- WEB-INF/web.xml, mainapp-faces-config.xml, reportsApp-faces.config.xml, etc
- WEB-INF/lib
- MainApp.jar
- META-INF/* (MainApp's)
- my/company/MainApp/Code.class
- functions.reportsApp.jar
- META-INF/* (reportsApp's)
- my/company/reportsApp/Code.class
这工作正常,据我了解.war
and .jar
规格,是正确的。
但在 Eclipse 中,我希望打开两个项目并将其部署/开发到 Tomcat 服务器设置。我有以下内容:
导入两个项目,设置MainApp具有报告应用程序作为项目依赖项(通过 MainApp-Properties、Java 构建路径、项目)。
注意:主应用程序的web.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>
报告应用程序的web.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
. WAR?这对我来说毫无意义,也不起作用。
为了让它发挥作用,我必须:
- 向 MainApp 添加一个文件夹,我(通过“高级”部分)链接到 ReportApp 的 Web 目录。
- 添加到 MainApp 的部署程序集链接文件夹并选择 MainApp 的 Web 文件夹作为“部署描述符的文件夹”
这让我web/*
(JSF等)内容转化为Tomcat/webapps/MainApp
ReportsApp 的 WEB-INF 内容合并到 MainApp 的 WEB-INF 中。
我还必须确保 MainApp 的部署程序集包含functions.reportsApp.jar
确保它部署到 tomcat 下MainApp/WEB-INF/lib
.
当然 Eclipse 本身就能计算出这一切吗?一个 Web 应用程序依赖于另一个 Web 应用程序必须意味着必须正确部署依赖项?
相关问题:
- 设置引用另一个项目的 Eclipse 动态 Web 项目 https://stackoverflow.com/questions/4646684
- 将 Web 项目作为 jar 添加到 Eclipse 部署程序集中 https://stackoverflow.com/questions/4657304