【问题标题】:Specifying classpath in TomEE 1.7/Tomcat 7在 TomEE 1.7/Tomcat 7 中指定类路径
【发布时间】:2024-04-22 23:20:02
【问题描述】:

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

  • 应用程序
    • webapp1
    • webapp2
    • jar1
    • jar2
    • jar3
    • 补丁.jar

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

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

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

提前致谢!

【问题讨论】:

    标签: tomcat classpath openejb apache-tomee


    【解决方案1】:

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

    xbean.finder.use.get-resources=true 
    

    【讨论】: