Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CloudFoundry Java Buildpack:如何为Tomcat更改server.xml中的值?_Java_Spring_Tomcat_Cloud Foundry_Buildpack - Fatal编程技术网

CloudFoundry Java Buildpack:如何为Tomcat更改server.xml中的值?

CloudFoundry Java Buildpack:如何为Tomcat更改server.xml中的值?,java,spring,tomcat,cloud-foundry,buildpack,Java,Spring,Tomcat,Cloud Foundry,Buildpack,我想覆盖server.xml配置文件中Connector元素中的值maxPostSize属性。(将最大大小设置为1MB) 这样做的唯一方法是分叉并更改现有的server.xml配置文件吗 或者也可以在我的WAR文件中的某个地方添加一个server.xml,这样就可以使用这个文件而不是buildpack中的文件 或者我也可以使用JAVA_OPTS吗?我相信这将记录您所有的官方选项: 这两个都不是很简单 您可以考虑将应用程序更改为Spring启动应用程序。我不是引导专家,但我相信java构建包可以使

我想覆盖
server.xml
配置文件中Connector元素中的值maxPostSize属性。(将最大大小设置为1MB)

这样做的唯一方法是分叉并更改现有的
server.xml
配置文件吗

或者也可以在我的WAR文件中的某个地方添加一个
server.xml
,这样就可以使用这个文件而不是buildpack中的文件


或者我也可以使用JAVA_OPTS吗?

我相信这将记录您所有的官方选项:

这两个都不是很简单


<>您可以考虑将应用程序更改为Spring启动应用程序。我不是引导专家,但我相信java构建包可以使用嵌入引导的tomcat,即使包装类型是.war。在这种类型的配置中,您可能可以使用boot来自定义如何启动嵌入式tomcat,以自定义maxPostSize等内容。

我相信这将记录您所有的官方选项:

这两个都不是很简单

<>您可以考虑将应用程序更改为Spring启动应用程序。我不是引导专家,但我相信java构建包可以使用嵌入引导的tomcat,即使包装类型是.war。在这种类型的配置中,您可能可以使用boot来定制它如何启动嵌入式tomcat来定制maxPostSize之类的东西

这样做的唯一方法是分叉并更改现有的server.xml配置文件吗

使用3.7+版本的Java构建包,您可以覆盖Tomcat配置,而无需分叉构建包。该特性称为“外部Tomcat配置”

下面是它工作原理的要点

  • 您为您的
    tomcat/conf
    目录创建了一个TAR文件。它可以包含诸如
    server.xml
    context.xml
    web.xml
    之类的内容,以及通常位于Tomcat的
    conf/
    目录下的任何内容
  • 您可以在HTTP服务器上的某个位置托管一个
    index.yml
    和该TAR文件。如果没有,可以使用静态文件构建包将其作为应用程序推送到CF
  • 使用环境变量
    JBP\u CONFIG\u TOMCAT将Java构建包指向此配置repo。下面是一个示例:`{tomcat:{外部配置启用:true},外部配置:{存储库根:\'url\'u to\'u repo\'}}”
有关HTTP服务器上文件结构的更多信息,请参见

这样做的唯一方法是分叉并更改现有的server.xml配置文件吗

使用3.7+版本的Java构建包,您可以覆盖Tomcat配置,而无需分叉构建包。该特性称为“外部Tomcat配置”

下面是它工作原理的要点

  • 您为您的
    tomcat/conf
    目录创建了一个TAR文件。它可以包含诸如
    server.xml
    context.xml
    web.xml
    之类的内容,以及通常位于Tomcat的
    conf/
    目录下的任何内容
  • 您可以在HTTP服务器上的某个位置托管一个
    index.yml
    和该TAR文件。如果没有,可以使用静态文件构建包将其作为应用程序推送到CF
  • 使用环境变量
    JBP\u CONFIG\u TOMCAT将Java构建包指向此配置repo。下面是一个示例:`{tomcat:{外部配置启用:true},外部配置:{存储库根:\'url\'u to\'u repo\'}}”

有关HTTP服务器上文件结构的更多信息,请参见

我在“帮助”页面上也找到了此选项,但是,将此文件存放在某个地方听起来确实不安全且麻烦。也许更好的选择是使用Spring Boot和自包含的Tomcat,这样我可以覆盖一些设置?这里有一个很好的问题,buildpack开发人员在评论中解释了他们为什么采用这种方法:请记住,您可以在静态应用程序中托管配置(使用很少的内存)在与应用程序相同的空间中。可能有助于减轻它的负担。如果从多个应用程序使用一种配置的角度考虑,HTTPS存储库更有意义。如果只有一个应用程序需要特殊的配置,那就有点麻烦了。将您的配置作为一个小型(例如:32M)应用程序推到CF上,会让您的配置更受欢迎。如果您反对使用HTTP服务器路径,我想您可以编写一个
.profile.d/
脚本来修改Tomcat配置。脚本可以很简单,只需复制嵌入应用程序的配置文件,也可以使用
sed
或类似工具进行编辑。我在帮助页面上也找到了这个选项,但是在某个地方托管这个文件听起来很不安全,也很麻烦。也许更好的选择是使用Spring Boot和自包含的Tomcat,这样我可以覆盖一些设置?这里有一个很好的问题,buildpack开发人员在评论中解释了他们为什么采用这种方法:请记住,您可以在静态应用程序中托管配置(使用很少的内存)在与应用程序相同的空间中。可能有助于减轻它的负担。如果从多个应用程序使用一种配置的角度考虑,HTTPS存储库更有意义。如果只有一个应用程序需要特殊的配置,那就有点麻烦了。将您的配置作为一个小型(例如:32M)应用程序推到CF上,会让您的配置更受欢迎。如果您反对使用HTTP服务器路径,我想您可以编写一个
.profile.d/
脚本来修改Tomcat配置。脚本可以像复制一个嵌入到应用程序中的配置文件一样简单,也可以用它来编辑