基于maven的多模块web应用程序分发

基于maven的多模块web应用程序分发,maven,distribution,web-applications,Maven,Distribution,Web Applications,我正在尝试为一个具有基于web的前端的复杂模拟器开发一个分发包(见www.powertac.org)。模拟器是一个基于Spring的应用程序,有11个独立的模块。我们有(没有web前端)允许用户简单地下载pom.xml并直接运行服务器-maven下载所有片段(如果需要),并使用命令行参数调用主类 现在我想发布一个包含模拟器和web应用程序的版本,我希望用户也有同样的体验——只需发出一个maven命令,让它在web容器中启动并运行。不应要求用户安装现有的jetty或tomcat。我已经尝试配置ca

我正在尝试为一个具有基于web的前端的复杂模拟器开发一个分发包(见www.powertac.org)。模拟器是一个基于Spring的应用程序,有11个独立的模块。我们有(没有web前端)允许用户简单地下载pom.xml并直接运行服务器-maven下载所有片段(如果需要),并使用命令行参数调用主类

现在我想发布一个包含模拟器和web应用程序的版本,我希望用户也有同样的体验——只需发出一个maven命令,让它在web容器中启动并运行。不应要求用户安装现有的jetty或tomcat。我已经尝试配置cargo插件来实现这一点;它正确下载jetty,war文件似乎包含所有依赖项(在WEB-INF/lib下),但它的行为就好像依赖项不在类路径中一样。如果有办法将模拟器和war文件的所有依赖项放入jetty类路径,我还没有找到它

这有什么诀窍吗?有可能吗


提前谢谢

我对货物不太了解。。。在我的项目中,我只是
mvnjetty:run
,一切正常,我很乐意使用jetty插件。这是我们在源环境中使用的,但我看不出如何让它使用指定为maven依赖项的.war。我检查了从web app项目生成的.war文件,它似乎包含了它的所有依赖项。也许我的问题与类路径无关,而是与cargo下的初始化过程有关。我得到的错误消息是
WARN:/visualizer:unavailable java.lang.IllegalStateException:应用程序在启动时未正确初始化,无法在javax.faces.context.FacesContextFactory中找到工厂:javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:800)
-请注意,
/visualizer
是web上下文路径。请参阅(我不确定是否也适用于jetty–我不是JSF爱好者)我使用maven dependency plugin:copy和jetty:run war进行工作。它可能不优雅,但它工作,我想我理解它在做什么。