我有一个项目,其中包含一些webapps和jsps,并构建为一个.war文件很好。
现在,我需要说服Netbeans和Maven构建Tomcat-7版本和Tomcat-5版本。有人能给我指个方向吗?
我也希望能够包括一个不同的web.xml取决于我正在为哪个客户建设,但我暂停,我可能能够让我自己一旦上面的答案发生。
我想我需要在我的pom文件中使用两个配置文件,但我不知道我需要在每个配置文件中输入什么才能选择:
a) The correct jdk to compile with (JDK 6 for TC-7 and JDK 5 for TC-5)
b) The correct version of the javax libraries.我使用的是Netbeans 7.1.2。
发布于 2012-07-17 20:57:01
最好的结果是有一个可以在Tomcat5和Tomcat7上工作的war文件,并且对每个客户都是一样的。
您可以使用maven配置文件为每个客户采用构建,但我建议将单个配置具体化到JNDI或通过某个环境变量读取的外部属性文件中。Spring提供了执行此操作的PropertyResolverconfigurer (例如)
既然你想支持Tomcat5,我猜你的项目是用Java1.5构建的?这也应该可以在Tomcat7上运行。
javax依赖项的作用域应该在pom.xml文件中提供。所以它们不会被部署。如果您的应用程序需要已经包含在tomcat中的特定版本的jar,那么您也可以使用配置文件来解决这个问题。但这可能会与每个客户的配置文件冲突。
如果您的Tomcat5和Tomcat7版本之间有很大的不同,那么创建3个模块可能是一个好主意--全部使用打包的"war“。一个包含“中立”文件,一个包含tomcat 5文件,一个包含tomcat 7文件。tomcat项目将使用中立模块作为war文件依赖项,而maven将进行war覆盖。因此,一次构建将同时生成tomcat5和tomcat7版本(以及不用于部署的中立war文件)。
根据http://tomcat.apache.org/whichversion.html的说法,Tomcat5的最低java版本是Java1.4。但这与tomcat的运行环境有关。Tomcat7也应该能够运行Java1.5字节码。仅仅它的JDK就是1.6。您可以使用1.5作为maven编译器插件的源版本和目标版本,以同时针对这两个版本。
但我认为应该可以创建一个tomcat5构建,也可以在tomcat7上运行。您是否有任何依赖项在两个版本之间冲突?还是预编译jsp文件?
对于maven构建,您只需要一个jdk (1.6)即可编译旧目标版本的源代码。
https://stackoverflow.com/questions/10831535
复制相似问题