繁体   English   中英

Netbeans使用Maven为Tomcat5和Tomcat7构建Web应用程序

[英]Netbeans to build a webapp for Tomcat5 and Tomcat7 using Maven

我有一个包含许多webapp和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。

最佳结果是拥有一个可以同时在Tomcat 5和Tomcat 7上使用并且对每个客户都相同的war文件。

您可以使用Maven概要文件为每个客户采用构建,但是我建议将单个配置外部化为JNDI或通过某些环境变量读取的外部属性文件。 Spring提供了PropertyResolverconfigurer来做到这一点(例如)

因为您想支持Tomcat 5,所以我猜您的项目是使用Java 1.5构建的吗? 那也应该在Tomcat 7上运行。

javax依赖项应在pom.xml文件中提供范围。 因此它们将不会被部署。 如果您的应用程序需要特定版本的jar,而该版本是tomcat的一部分,那么您也可以使用配置文件解决该问题。 但这可能与每个客户的个人资料冲突。

如果您的Tomcat 5和Tomcat 7版本之间有很大差异,则可能会创建3个模块-全部使用打包的“ war”模块。 一个包含“中性”文件,一个包含tomcat 5文件,另一个包含tomcat 7文件。 tomcat项目将使用中性模块作为war文件依赖项,而maven将进行war覆盖。 因此,一个版本将同时生成tomcat 5和tomcat 7版本(以及未用于部署的中性war文件)。

根据http://tomcat.apache.org/whichversion.html,tomcat 5中的最低Java版本为Java 1.4。 但这与tomcat正在运行的内容有关。 Tomcat 7也应该能够运行Java 1.5字节码。 只是它的JDK是1.6。 您可以将1.5用作maven-compiler-plugin的源版本和目标版本,以同时针对这两个版本。

但是我认为有可能创建一个也可以在tomcat 7上运行的tomcat 5版本。 您是否有两个版本之间有冲突的依赖项? 还是您预编译了jsp文件?

对于Maven构建,您将只需要一个jdk(1.6)就能够为较旧的目标版本编译源代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM