no-eclipse tomcat env变量等价物

时间:2011-01-03 21:03:40

标签: eclipse tomcat


   当我单击Tomcat服务器然后Open Launch configuration -> Environment -> Variable, Value时,我可以使用Eclipse设置环境变量。什么是no-gui,no-eclipse textual-xml相当于这个变量设置?

3 个答案:

答案 0 :(得分:1)

请参阅:http://tomcat.apache.org/tomcat-5.5-doc/config/context.html#Attributes

  

您可以通过在此元素中嵌套<Parameter>元素来配置将作为servlet上下文初始化参数对Web应用程序可见的命名值。例如,您可以创建如下的初始化参数:

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

这相当于在Web应用程序部署描述符(/WEB-INF/web.xml)中包含以下元素:

<context-param>
  <param-name>companyName</param-name>
  <param-value>My Company, Incorporated</param-value>
</context-param>
  

但不需要修改部署描述符来自定义此值。

答案 1 :(得分:0)

如果您使用的是gnu-linux操作系统,则可以编辑 catalina.sh 脚本以导出环境变量。脚本的第一行(当然是评论之后)应该是

export variableName=variableValue

卢卡斯的功劳是告诉我该怎么做。

答案 2 :(得分:0)

如果您是将参数传递给servlet上下文的启动,请参阅Answer by miku

环境条目

如果您要使用Environment Entries功能,请使用<Environment>而不是其他答案中看到的<Parameter>

在此示例中,如果我正在为development, testing, acceptance, education, or production运行网络应用,则设置标志信号。

<?xml version="1.0" encoding="UTF-8"?>
<Context>
    <!-- Domain: DEV, TEST, ACPT, ED, PROD  -->
    <Environment name = "work.basil.example.deployment-mode"
                 description = "Signals whether to run this web-app with development, testing, acceptance, education, or production settings."
                 value = "DEV"
                 type = "java.lang.String"
                 override = "false"
                 />
</Context>

您可以选择一些放置此类XML的位置。对于此示例,我们希望将文件外部化,将其保留在包含我们的Web应用程序的WAR文件之外。通过外部化,我们可以将WAR部署到任何开发,测试,acpt,ed或prod服务器,而无需特殊的构建或手动编辑。因此,为此,我喜欢使用Tomcat的功能,允许使用与上下文相同名称的XML文件。该文件位于conf文件夹中,在其中您可以创建以Tomcat引擎和主机命名的嵌套文件夹。例如,在我的开发计算机上,其名称为my_tomcat_base_folder/conf/Catalina/localhost/example.xml,其中example是上下文的名称,Catalina是引擎名称,localhost是主机名(不是开发中使用域名)。

以上XML的语法是特定于Tomcat的。为了在Servlet标准的地方(例如/WEB-INF/web.xml文件中使用),在Servlet 4规范第14.4.21节中记录的等效项是:

<env-entry>
    <env-entry-name>work.basil.example.deployment-mode</env-entry-name>
    <description>Signals whether to run this web-app with development, testing, acceptance, education, or production settings.</description>
    <env-entry-value>DEV</env-entry-value>
    <env-entry-type>java.lang.String</env-entry-type>
</env-entry>