Mar*_*mix 25 java apache tomcat
我有一个名为"-Dfolder"的VM参数的webProject
我在applicationContext上使用这个参数,如下所示:
<value>file:${FNET_CORE_CONFIG}/conf/${folder}/jdbc.properties</value>
Run Code Online (Sandbox Code Playgroud)
在Eclipse中,为了进行测试,我使用"运行配置"来设置如下值:
-Dfolder=Dev
Run Code Online (Sandbox Code Playgroud)
现在,我想在Apache Tomcat上测试我的webapp,所以我需要设置/发送文件夹VM Argument.
我怎么做的?
我必须使用setenv.sh?怎么样?.有人可以给我和榜样吗?
谢谢,抱歉我的英语
use*_*873 27
我不知道您使用的是哪个版本的Tomcat,但在文件catalina.sh中的Tomcat 7中,您可以指定变量CATALINA_OPTS,此变量将传递给jvm.
但是设置环境变量可能不是实现目标的最佳方式.也许最好的是创建单独的"app.properties"文件,并将其包含在applicationContext中,如下所示:
<context:property-placeholder location="classpath*:app.properties" />
Run Code Online (Sandbox Code Playgroud)
和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.
Run Code Online (Sandbox Code Playgroud)
例:
CATALINA_OPTS = " - Dfolder =开发"
编辑:
对于Windows应该是这样的 set CATALINA_OPTS="-Dfolder=Dev"
编辑:
在Spring配置中,您可以像$ {propertyname}一样使用系统属性,也可以包含带有属性定义的文件context:property-placeholder,并且在该文件中定义的所有属性也可以在配置中变为可用.
例如,您具有基本集属性:config.properties,以及具有数据库连接设置的文件集(DEV.properties,UAT.properties,PROD.properties).那么,如何为不同的环境包含不同的属性?它可以通过多种方式完成,例如,在catalina.bat中设置系统属性
set CATALINA_OPTS="-Dbuild=DEV"
Run Code Online (Sandbox Code Playgroud)
并在applicationConfig.xml中
<context:property-placeholder location="classpath*:${build}.properties, classpath*:config.properties" />
Run Code Online (Sandbox Code Playgroud)
或者,您可以创建不同的构建配置,并在最终WAR中仅为每个构建配置包含一个属性(DEV,UAT,PROD).在applicationConfig中设置如下:
<context:property-placeholder location="classpath*:*.properties" />
Run Code Online (Sandbox Code Playgroud)
bin*_*iam 15
转到$ CATALINA_HOME并setenv.sh通过添加带有值的参数来编辑文件.如果要批量化多个参数,请使用它们分开space
例如
cd /opt/tomcat/bin/
sudo nano setenv.sh
Run Code Online (Sandbox Code Playgroud)
编辑该行
CATALINA_OPTS="${CATALINA_OPTS}"
Run Code Online (Sandbox Code Playgroud)
至
CATALINA_OPTS="${CATALINA_OPTS} -Dparam=value -Dparam2=value2"
Run Code Online (Sandbox Code Playgroud)
重启tomcat:
service tomcat restart
Run Code Online (Sandbox Code Playgroud)
你现在应该能够看到运行时传递给tomcat的参数:
ps aux | grep tomcat
Run Code Online (Sandbox Code Playgroud)
使其在Windows中工作,通过在与catalina.bat和startup.bat相同的目录中生成setenv.bat文件(按照catalina.bat中的建议)并放入.bat的内容:
set CATALINA_OPTS="-DyourVariableName=yourValue"
Run Code Online (Sandbox Code Playgroud)
就这样。我喜欢这种方式,因为它看起来很干净
| 归档时间: |
|
| 查看次数: |
75374 次 |
| 最近记录: |