我有一个主要的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?这对我没有意义,也不起作用。
为了使其有效,我必须:
将web/*
(JSF等)内容转换为Tomcat/webapps/MainApp
,并将ReportsApp的WEB-INF内容合并到MainApp的WEB-INF中。
我还必须确保MainApp的部署程序集包含functions.reportsApp.jar
,以确保它在MainApp/WEB-INF/lib
下部署到tomcat。
Eclipse当然可以解决所有这些问题吗?一个Web应用程序依赖于另一个Web应用程序必须意味着必须正确部署依赖项?
相关问题: