如何在tomcat中仅向单个webapp添加上下文参数?

如何在tomcat中仅向单个webapp添加上下文参数?,tomcat,jakarta-ee,tomcat7,tomcat6,tomcat8,Tomcat,Jakarta Ee,Tomcat7,Tomcat6,Tomcat8,文档说这是从server.xml向webapp发送参数的方法: <Context> ... <Parameter name="companyName" value="My Company, Incorporated" override="false"/> ... </Context> ... ... 我认为默认情况下,这会将companyName值发送到所有webapps 如何仅将此参数发送到单个webapp 注意,我知道您

文档说这是从server.xml向webapp发送参数的方法:

<Context>
  ...
  <Parameter name="companyName" value="My Company, Incorporated"
         override="false"/>
  ...
</Context>

...
...
我认为默认情况下,这会将companyName值发送到所有webapps

如何仅将此参数发送到单个webapp

注意,我知道您可以在webapp的/WEB-INF/WEB.xml文件中添加条目。但是,我需要一个在tomcat级别设置的解决方案。我根本不想编辑war文件

是否有其他方法仅将此参数发送到单个Web应用程序


GC

不,如果您不希望它跨所有Web应用程序,则无法将其添加到server.xml文件中。 相反,您必须将其添加到项目META-INF文件夹中的context.xml文件中,这将需要更改war。
没有文档库、路径等在
server.xml
中无效,因此您对问题中发布的配置一无所获。考虑到这种配置,我希望Tomcat不会启动

如果配置正确,
只会影响定义它的上下文

如果您将
放在
conf/context.xml
中,那么实际上您将在部署在Tomcat实例中的每个上下文中定义此参数


如果您希望覆盖web应用程序中捆绑的
META-INF/context.xml
(因为您不希望每次推出新版本时都必须添加
),您应该使用文档丰富的技术,通过提供自己的in来覆盖web应用程序的
META-INF/context.xml

我知道这个解决方案。我正在寻找一种解决方案,该解决方案允许我设置一次值,而不必在每次.war被替换时更新它。由于它已添加到您的项目中,因此每次部署war时,它都会被捆绑在其中,因此除非您愿意,否则您实际上不需要更改它。正如我提到的,您不能完全按照您想要的方式来做,因为这违反了服务器规范。如果您确实找到了不同的解决方案,那么一定要与我们分享。同时,请阅读本文了解定义上下文的所有可能方法:您是指
conf/server.xml
还是
conf/context.xml
?一个可以按照您描述的方式工作,另一个完全不会像您描述的那样工作。conf/[engine]/[host]/[appname].xml会覆盖整个文件还是只覆盖应用程序web的一部分。xml?
conf/[engine]/[host]/[appname].xml
根本不会覆盖
web.xml
的任何部分。我认为您的想法是正确的。我现在不能测试它,但是,你的想法似乎是对的。我可能会在几周后回来。