在WAR中打包JAR还是放在classpath上?

时间:2012-03-17 22:05:59

标签: tomcat maven jar classpath war

我有一个Spring MVC应用程序,它有一个公共前端WAR,一个管理员前端WAR和一个共享服务JAR。我的两个前端项目依赖于各种Spring JAR,我的共享服务JAR也是如此。他们需要的Spring JAR列表相似但不同。此外,两个基于WAR的应用程序依赖于共享服务JAR。

如何在捆绑JAR或设置类路径方面部署这组应用程序/ JAR?您是否将所有适当的Spring JAR和服务JAR包含在两个WAR文件中?你会把任何和所有共享的JAR放到类路径上吗?如果是这样,你会通过命令行参数将它们放在Tomcat(我正在使用的应用服务器)的类路径上,或者你只是将类路径添加到系统类路径中?您是否会因开发和生产方案而有所不同?

作为参考,我正在使用Maven,它已将所有内容打包到WAR文件中,但我不确定这是否是最佳实践方法。

更新:作为参考,我发现这个页面非常有用:http://www.mulesoft.com/tomcat-classpath

谢谢,

詹姆斯。

1 个答案:

答案 0 :(得分:5)

保持war文件自包含,而不是将东西放在系统类路径上。那么您不必担心系统和webapp类加载器之间的类加载问题,并且从长远来看将为您节省大量的挫折。磁盘空间和内存一样便宜。