gpt4 book ai didi

tomcat - TomEE : ignore docBase from being scanned

转载 作者:行者123 更新时间:2023-11-28 23:10:29 26 4
gpt4 key购买 nike

我有一个 docBase(备用 docroot),它包含很多我没有包含在 war 文件中的静态内容。但是,TomEE 的 Bootstrap 代码会扫描 docBase 目录以查找 jar 文件和其他 JavaEE 组件。由于 docBase 包含大量文件,因此部署需要很长时间。我想知道是否有一个标志或参数可以用来忽略这些目录的处理(扫描)。

我试图调整 TomEE 的 server.xml 文件,但似乎没有任何效果。

        <Context docBase="/large/directory" path="/foo/bar">
<JarScanner scanClassPath="false" scanAllFiles="false" scanAllDirectories="false" />
<Parameter name= "org.apache.tomee.catalina.TomcatWebAppBuilder.IGNORE" value="true" />
<Environment name="org.apache.tomee.catalina.TomcatWebAppBuilder.IGNORE" value="true" type="java.lang.String" />
</Context>

但是,随着这些变化,docBase 仍然被处理和扫描。

最佳答案

深入研究源代码[1] 我发现系统属性似乎正确地跳过了 docBase 的扫描:

    private static boolean isExcludedBySystemProperty(final StandardContext standardContext) {
String name = standardContext.getName();
if (name == null) {
name = standardContext.getPath();
if (name == null) { // possible ?
name = "";
}
}

if (name.startsWith("/")) {
name = name.substring(1);
}

final SystemInstance systemInstance = SystemInstance.get();
return "true".equalsIgnoreCase(systemInstance.getProperty(name + ".tomcat-only", systemInstance.getProperty("tomcat-only", "false")));
}

通过传入系统属性 -Dfoo/bar.tomcat-only=true 似乎可以解决问题。为胜利而开源!

  1. https://github.com/apache/tomee/blob/master/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java

谢谢

关于tomcat - TomEE : ignore docBase from being scanned,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58715980/

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