如何使用maven3为glassfish和tomcat构建独立的war文件



我有一个由Maven 3构建的Java Web项目。需求是让它的工件在多种容器类型中运行(例如Tomcat6、Tomcat7、jety8、Glassfish4、WebSphere…)

问题是不同的容器有不同的依赖需求。例如,Glassfish4不支持部署带有Jersey jar的WAR,而Tomcat7需要这些jar。

因此,我需要一些机制来定义几个WAR构件,每个构件都有不同的依赖关系树。配置文件可能是一种方法,但这将需要多次构建执行,每种类型的目标容器执行一次。

是否有可能有一个构建执行产生几个战争,每个战争有不同的依赖树?

您需要的是profiles的特性。

每个应用服务器都有一个配置文件,只启用一个,然后运行目标,然后执行下一个。

maven站点上有关于profiles的非常全面的文档