Tomcat 包JAR在战争中还是放在类路径上?

Tomcat 包JAR在战争中还是放在类路径上?,tomcat,maven,jar,classpath,war,Tomcat,Maven,Jar,Classpath,War,我有一个SpringMVC应用程序,它有一个公共前端WAR、一个管理前端WAR和一个共享服务JAR。我的两个前端项目依赖于各种Spring JAR,我的共享服务JAR也是如此。他们所需要的弹簧罐列表相似但不同。另外,这两款基于WAR的应用程序都依赖于共享服务JAR 在绑定JAR或设置类路径方面,您将如何部署这组应用程序/JAR?您是否会将所有适当的Spring JAR和服务JAR都包含在这两个WAR文件中?您会将任何和所有共享JAR放在类路径上吗?如果是这样,您会通过命令行参数将它们放在Tomc

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

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

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

更新:作为参考,我发现这一页非常有用:

谢谢


James。

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

保持war文件的独立性,而不是将内容放在系统类路径上。这样,您就不必担心系统和webapp类加载器之间的类加载问题,从长远来看,这将为您节省大量的挫折。磁盘空间很便宜,内存也很便宜。

服务层JAR呢?这也将依赖于SpringJAR,尽管我假设您不能将这些JAR包括在服务层JAR中。然后,您会将适当的Spring JAR添加到类路径中吗?还是有更好的方法来处理这个问题?我只会在tomcat库中添加数据库驱动程序。我将把所有其他内容都放在war文件的WEB-INF/lib目录中。因此,在部署2个webapp的情况下,每个webapp都有自己的springjar副本。这在某种程度上与我对服务层JAR的回答有关?这也将依赖于SpringJAR,尽管我假设您不能将这些JAR包括在服务层JAR中。然后,您会将适当的Spring JAR添加到类路径中吗?还是有更好的方法来处理这个问题?我只会在tomcat库中添加数据库驱动程序。我将把所有其他内容都放在war文件的WEB-INF/lib目录中。因此,在部署2个webapp的情况下,每个webapp都有自己的springjar副本。这与我对这个问题的回答有些关联