看到这个
question用于读取WAR文件之外的属性文件。
参见这个question从JNDI读取变量值。我相信这是最好的解决方案。您可以使用此代码读取String变量:
Context initialContext = new InitialContext();
String myvar = (String) initialContext.lookup("java:comp/env/myvar");
上面的代码将在所有容器上工作。在Tomcat中,您在conf / server.xml中声明以下内容:
type="java.lang.String" override="false"/>
上面将创建一个全局资源。还可以在应用的上下文中定义资源。在大多数容器中,JNDI资源通过MBeans管理控制台提供。其中一些提供了一个图形界面来编辑它们。在进行更改时,最多需要重新启动应用程序。
如何定义和编辑JNDI资源是特定于容器的。配置器/管理员的工作是应用适当的设置。
这些是JNDI提供的好处:
>您可以在WAR / EAR文件中定义参数的默认值。>参数可以在容器中轻松配置。>在修改参数的值时,不需要重新启动容器。