Eclipse Deployment Assembly - 在主项目WEB-INF / lib中创建依赖项目的.war?

时间:2013-03-12 12:41:59

标签: eclipse tomcat web-applications deployment web.xml

我有一个主要的Web项目,其中包含通过浏览器部署和点击页面所需的所有内容。然后我将几个“函数”作为一个单独的项目,可以包含在主项目中。

举个例子,我有 MainApp functions.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.jar规范,这是正确的。

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

导入这两个项目,设置 MainApp 以将 ReportsApp 作为项目依赖项(通过,MainApp-Properties,Java Build Path,Projects)。

注意:MainApp的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>

reportApp的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,以确保它在MainApp/WEB-INF/lib下部署到tomcat。

Eclipse当然可以解决所有这些问题吗?一个Web应用程序依赖于另一个Web应用程序必须意味着必须正确部署依赖项?

相关问题:

0 个答案:

没有答案