Java Tomcat不排除在Tomcat.util.scan.StandardJarScanFilter.jarsToSkip中指定的JAR
我试图通过环境变量设置Tomcat配置设置。它对某些人有效,但似乎对其他人无效 具体地说,我想从TLD文件的扫描中排除某些JAR 这是我的dockerfile:Java Tomcat不排除在Tomcat.util.scan.StandardJarScanFilter.jarsToSkip中指定的JAR,java,tomcat,configuration,dockerfile,tomcat8,Java,Tomcat,Configuration,Dockerfile,Tomcat8,我试图通过环境变量设置Tomcat配置设置。它对某些人有效,但似乎对其他人无效 具体地说,我想从TLD文件的扫描中排除某些JAR 这是我的dockerfile: FROM tomcat:8.5.34-jre8 EXPOSE 8080 EXPOSE 8000 ENV CATALINA_OPTS="-Djava.util.logging.config.file=/usr/local/tomcat/webapps/catalinaLogging.properties -Dtomcat.util.s
FROM tomcat:8.5.34-jre8
EXPOSE 8080
EXPOSE 8000
ENV CATALINA_OPTS="-Djava.util.logging.config.file=/usr/local/tomcat/webapps/catalinaLogging.properties -Dtomcat.util.scan.StandardJarScanFilter.jarsToSkip=jackson-module-jaxb-annotations-2.7.0.jar"
COPY /target/my.war /usr/local/tomcat/webapps/my.war
COPY /catalinaLogging.properties /usr/local/tomcat/webapps
CMD ["catalina.sh", "jpda", "run"]
catalinaloging.properties
已成功应用,因为我看到了启动期间日志记录的差异。虽然tomcat.util.scan.StandardJarScanFilter.jarsToSkip
似乎没有被应用,但我仍然在输出中看到以下内容:
- 我是否必须以不同的方式设置
属性tomcat.util.scan.StandardJarScanFilter.jarsToSkip
- 我必须使用不同的物业吗
无法通过
CATALINA\u OPTS
环境变量配置tomcat.util.scan.StandardJarScanFilter.jarsToSkip,而必须在CATALINA.properties
中配置
但是,
catalina.properties
的位置可以通过Andreas描述的-Dcatalina.config=/path/to/folder
进行配置。tomcat.util.scan.StandardJarScanFilter.jarsToSkip
是在tomcat_BASE/conf/catalina.properties
文件中定义的属性。它不是系统属性。如果您想列出更多要跳过的jar文件,您需要修改catalina.properties
文件。谢谢@Andreas。如果我无法访问该文件,是否无法通过环境变量从外部配置该文件?为什么您可以访问运行tomcat的脚本,但不能访问tomcat配置文件?这毫无意义。我这里的示例是我们应用程序的一个停靠版本。在生产环境中,它作为托管服务在Azure上运行。如果您能解释一下java.util.logging.config.file
与tomcat.util.scan.StandardJarScanFilter.jarsToSkip
的不同之处,以及为什么可以通过CATALINA\u OPTS
设置一个,而不是另一个,那就太棒了。