java - 如何通过配置在 Jetty 中设置自定义 WebAppClassLoader?

标签 java jetty classloader maven-jetty-plugin

我正在尝试使用 WebAppClassLoader 的自定义子类配置 Jetty (6.x) WebAppContext 。在代码(Scala)中,它很简单:

  val context = new WebAppContext()
  val cwacl = new CustomWebAppClassLoader(context)
  context.setClassLoader(cwacl)
  ...

嵌入 Jetty 时效果很好。然而,在生产中,我只是将一个 war 文件部署到独立的 jetty 实例,因此没有机会在这样的代码中进行配置。

我不知道如何通过 Jetty 的配置文件做同样的事情。如有任何帮助,我们将不胜感激。

奖励:您将如何配置maven-jetty-plugin使用 CustomWebAppClassLoader :)

最佳答案

您可以使用上下文配置文件。 contexts/ 目录中有示例。

这将是这样的:

<Configure id="mycontext1" class="org.mortbay.jetty.webapp.WebAppContext">
    <Set name="classLoader">
        <New class="f.q.n.CustomWebAppClassLoader">
           <Arg><Ref id="mycontext1"/></Arg></New>
    </Set>
</Configure>

(有关更多详细信息,请参阅 Jetty XML Syntax configuration reference。)

关于java - 如何通过配置在 Jetty 中设置自定义 WebAppClassLoader?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3712057/

相关文章:

java - 检测android/java中多列数组列表中的重复元素?

java - 跨语言和服务器 http session 变量

java - 从 bin 文件夹加载类

java - 2 不同的项目添加到ArrayList,但最新的项目被创建了两次?

java - "Constructor Album in class Album cannot be applied to different types"

java - 如果 XML 文件太大,如何中止请求?

java - 如何配置嵌入式 Jetty (v9) 为特定资源文件设置特定 header ?

java - ClassLoader 可以用任何东西替换数组

Java动态加载JAR : NoClassDefFoundError

java - 有关带有递归方法的代码的问题