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



我有一个项目,其中包含许多web应用程序和jsp,并且可以很好地构建为.war文件。

我现在需要说服 Netbeans 和 Maven 同时构建 Tomcat-7 版本和 Tomcat-5 版本。有人可以指出我正确的方向吗?

我还希望能够包含不同的网络.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 的战争文件,并且对每个客户都相同。

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

既然你想支持Tomcat 5,我想你的项目是用Java 1.5构建的吗?这也应该在Tomcat 7上运行。

javax 依赖项应该在你的 pom.xml 文件中提供范围。所以他们不会被部署。如果您的应用程序需要特定版本的 jar,该 jar 已经是 tomcat 的一部分,您也可以使用配置文件来解决这个问题。但这可能与每个客户的配置文件冲突。

如果您的 Tomcat

5 和 Tomcat 7 版本之间存在很大差异,那么创建 3 个模块可能是一个想法 - 所有模块都使用打包"战争"。一个包含"中性"文件,一个包含tomcat 5文件,一个包含tomcat 7文件。tomcat 项目将使用中立模块作为战争文件依赖项,而 maven 将进行战争叠加。因此,一个构建将同时生成 tomcat 5 和 tomcat 7 版本(以及不用于部署的中立战争文件)。

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

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

对于 maven 构建,您只需要一个 jdk (1.6) 即可为较旧的目标版本编译源代码。

相关内容

  • 没有找到相关文章

最新更新