gpt4 book ai didi

java - 如何让WebApp在嵌入式jetty中的类路径上查找应用程序属性?

转载 作者:行者123 更新时间:2023-12-02 10:45:18 24 4
gpt4 key购买 nike

我们有一个应用程序,其中包含一个 war 文件和两个属性文件。在正常情况下,我们只需将 war 放入/webapps (jetty) 并将配置放入/resources 中,一切都会正常运行。

我们如何使用嵌入式 jetty 做到这一点?所以我有一个类文件,它可以创建嵌入式jetty服务器并使用以下命令部署war文件:

WebAppContext ctx = new WebAppContext(warfileLocation,"/");

服务器启动,但应用程序未启动,因为它找不到应用程序引用的属性,而应用程序希望在类路径上找到 .properties 文件。

如何以编程方式将配置属性文件部署到嵌入式 jetty 上下文?大概是通过在上下文中使用某种方法来引用本地磁盘上的文件?

谢谢。

最佳答案

一个WebAppContext类加载器与服务器类路径隔离,使得服务器类路径上的内容对 WebAppContext 不可用.

你有两个选择。

  1. 翻转类加载器隔离的规则。

如果您的嵌入式 jetty 中只有 1 个 WebAppContext,并且您不关心类加载器隔离,请调用 WebAppContext.setParentLoaderPriority(true);

  • 将您需要的特定类路径条目添加到 WebAppContext .
  • 您可以调用WebAppContext.setExtraClasspath(String)将您想要的任意类路径条目添加到 WebAppContext在将其添加到 HandlerCollection 之前并启动/部署。

    关于java - 如何让WebApp在嵌入式jetty中的类路径上查找应用程序属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52627144/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com