tomcat - 在 TomEE 1.7/Tomcat 7 中指定类路径

标签 tomcat classpath openejb apache-tomee

我们在 TomEE 1.7(基于 Tomcat 7)的 EAR 中部署了一个大型 Web 应用程序。该应用程序的基本结构是:

  • 应用程序
    • 网络应用1
    • 网络应用2
    • jar1
    • jar2
    • jar3
    • 补丁.jar

应用程序共享公共(public) jar 的地方是在 lib 文件夹中。相当标准的 EAR 配置。为了更容易地提供修复,我们在 lib 文件夹中添加了一个名为“patch.jar”的 jar。然后我们将修改 META-INF 文件夹中的 MANIFEST.MF 以配置显式类路径并在前面放置 path.jar。这样,如果我们添加一个类,应用程序就会找到它。如果我们修复了一个类,我们会将更新后的类的副本放在 patch.jar 中,然后由于类路径指定,应用程序将首先找到更新后的类并使用它。

这允许我们在交付补丁时只交付一个 JAR。更小、更快、更安全(因为我们只提供少量更新的类,而不是整个应用程序)。

当我们在 JBoss 中部署时,这工作得很好,但现在我们已经转移到 TomEE,我们无法让它工作。它似乎总是忽略任何类路径指定。有没有办法做到这一点——为 TomEE EAR 应用程序指定一个显式类路径,以便应用程序按顺序搜索 jar 列表?

提前致谢!

最佳答案

也许尝试在 conf/system.properties 中添加:

xbean.finder.use.get-resources=true 

关于tomcat - 在 TomEE 1.7/Tomcat 7 中指定类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28244094/

相关文章:

java - 如何在类路径中找到隐藏的jar?

tomcat - EntityManager 注入(inject)不适用于 Tomcat + OpenEJB

ejb-3.0 - 嵌入式 EJB 容器与实际服务器容器有什么区别

java - 使用 OpenEJB 在 Tomcat 上部署 Web 服务

java - 如何访问 Azure 的 Tomcat 日志以进行 Java 应用服务部署

java - org.eclipse.jdt.launching.JRE_CONTAINER 在eclipse 中有什么用?

tomcat - Eclipse Virgo 增加启动/停止超时 [vagrant]

java - 将外部 JAR 添加到 OpenJDK

java - 当我只发送重定向时,如何在 Tomcat/Spring Boot 中关闭 JSESSIONID?

tomcat - 如何从 Servlet 中以编程方式检测 Tomcat 启动?