Java 使用WebLogic的Web应用的Jar放置

Java 使用WebLogic的Web应用的Jar放置,java,model-view-controller,jar,weblogic,classpath,Java,Model View Controller,Jar,Weblogic,Classpath,这似乎是一个基本问题,但我想确保我们做的事情是正确的 我们正在使用SpringMVC制作Web应用程序,并使用WebLogic为它们提供服务。JAR应放置在此设置中的何处 我们已经讨论过将业务逻辑放入JAR中,JAR将位于服务器类路径中,而特定于应用程序的JAR将打包到部署的WAR文件中。我们知道,如果我们在服务器类路径中重新部署一个jar,我们必须跳转服务器。有没有办法避免这种情况?根据您的情况,有两种选择: 如果您只有一个WAR,或者不需要跨多个WAR文件编码,那么您可以将业务逻辑打包到W

这似乎是一个基本问题,但我想确保我们做的事情是正确的

我们正在使用SpringMVC制作Web应用程序,并使用WebLogic为它们提供服务。JAR应放置在此设置中的何处


我们已经讨论过将业务逻辑放入JAR中,JAR将位于服务器类路径中,而特定于应用程序的JAR将打包到部署的WAR文件中。我们知道,如果我们在服务器类路径中重新部署一个jar,我们必须跳转服务器。有没有办法避免这种情况?

根据您的情况,有两种选择:

  • 如果您只有一个WAR,或者不需要跨多个WAR文件编码,那么您可以将业务逻辑打包到WAR中

  • 另一方面,如果希望跨多个WAR文件共享代码,那么可以将WAR捆绑到EAR中,并将共享的业务逻辑代码捆绑到存储在该EAR中的一个或多个JAR文件中


我通常会避免使用服务器类路径,因为您可能会遇到类加载问题,并且您不希望仅仅为了更新代码而跳转生产服务器。

我看到了其他一些SO问题,这些问题报告了服务器类路径上的JAR问题:


我认为最好将您的战争作为一个单独的、独立的单位。

如果每台服务器只有一个web应用程序,只需将它们放入web-INF/lib即可。否则,这里讨论的共享j2ee库提供了灵活性,并且易于在WLS中使用和部署


我对耳朵不了解,也没有找到很多关于耳朵的好信息。你有什么好的参考资料吗?看起来耳朵不能互相说话,所以如果我有一个罐子可以分享,战争就需要在同一只耳朵里。如果是这样的话,如果我对一场战争进行更改,我是否必须部署两场战争(因为它们在同一个耳朵中)?