Spring-boot,tomcat-embedded - 如何定义catalina.properties?

时间:2017-06-05 23:40:37

标签: tomcat spring-boot catalina embedded-tomcat-8

使用tomcat嵌入式运行spring-boot时, 如何设置/更改这些tomcat-config系统属性?

我尝试在命令行上添加-D ...,但似乎无法正常工作。

2 个答案:

答案 0 :(得分:0)

我正在启动spring-boot应用程序时通过命令行定义其中一个catalina.properties。

我们要添加的属性是:tomcat.util.http.parser.HttpParser.requestTargetAllow

我用来运行应用程序的完整命令是:

mvn -Dtomcat.util.http.parser.HttpParser.requestTargetAllow={} spring-boot:run

您应该能够添加更多catalina属性,如下所示:

mvn -Dtomcat.util.buf.StringCache.byte.enabled=true -Dtomcat.util.http.parser.HttpParser.requestTargetAllow={} spring-boot:run

您可以添加此处提到的任何属性: https://tomcat.apache.org/tomcat-8.5-doc/config/systemprops.html

我在以下帖子的帮助下最终得到了这个解决方案:

https://bz.apache.org/bugzilla/show_bug.cgi?id=60594

Invalid character found in the request target in spring boot

让我知道它是否适合你。

答案 1 :(得分:0)

我将-D属性放在.conf文件中,如下所示:

JAVA_OPTS="$JAVA_OPTS -Dtomcat.util.http.parser.HttpParser.requestTargetAllow={}

这就是您进行部署的方式,Alvaro Lazaro的maven风格更多是出于开发目的。