No sé qué versión de Tomcat usando, pero en Tomcat 7 en catalina.sh archivo se puede especificar CATALINA_OPTS variables y esta variable pasaré a JVM.
Pero quizás establecer una variable de entorno no sea la mejor manera de lograr su objetivo. Tal vez será mejor creación de archivo separado "app.properties", e incluirlo en applicationContext así:
<context:property-placeholder location="classpath*:app.properties" />
y la solución para catalina.sh
# CATALINA_OPTS (Optional) Java runtime options used when the "start",
# "run" or "debug" command is executed.
# Include here and not in JAVA_OPTS all options, that should
# only be used by Tomcat itself, not by the stop process,
# the version command etc.
# Examples are heap size, GC logging, JMX ports etc.
ejemplo:
CATALINA_OPTS = "-Dfolder = Dev"
EDIT:
para las ventanas que debería ser algo así como set CATALINA_OPTS="-Dfolder=Dev"
EDIT:
En la configuración de la primavera puede utilizar la propiedad del sistema al igual que $ {propertyName}, y también puede incluir los archivos de definición de la propiedad, con context:property-placeholder
, y todo definido en las propiedades del archivo también está disponible en config.
Por ejemplo, tiene propiedades de conjunto de bases: config.properties y un conjunto de archivos con configuraciones de conexión db (DEV.properties, UAT.properties, PROD.properties). Entonces, ¿cómo puede incluir diferentes propiedades para diferentes entornos? Se puede hacer de muchas maneras, por ejemplo, establecer las propiedades del sistema en catalina.bat
set CATALINA_OPTS="-Dbuild=DEV"
y en applicationConfig.xml
<context:property-placeholder location="classpath*:${build}.properties, classpath*:config.properties" />
O puede crear diferente configuración de generación e incluir en guerra final solamente una propiedades (DEV, UAT, PROD) para cada configuración de compilación. En applicationConfig establecer algo así como:
<context:property-placeholder location="classpath*:*.properties" />
Creo que deberías intentar usar los parámetros [ServletContext] (http://docs.oracle.com/javaee/5/api/javax/servlet/ServletContext.html), ya que es un proyecto web. –
Creo que esto no es lo que necesito. Necesito establecer el valor en apache para WAR, no en desarrollo. También necesito cambiar el valor de vez en cuando para el entorno de Desarrollo, Prueba y Demostración. Gracias de todos modos –
Es por eso que existe el archivo web.xml. Es un descriptor de implementación, deliberadamente separado del código. – EJP