如何在启动tomcat时传递-D附加参数?
我有一个maven项目,运行命令mvn install all project以及模块编译并成功复制到本地存储库。 但现在我想在tomcat6中运行生成的Web应用程序。 客户端为tomcat提供了一些参数-Dapp.username,-Dapp.username,
一旦项目启动就会在内部使用。但是我不知道如何在tomcat6中设置这些附加参数。 以下是我的开发环境
- OS = Windows
- Tomcat = tomcat 6.0.27
请帮我?
您可以设置环境变量来执行此操作。 例如在Linux中:
export JAVA_OPTS =“ – Dapp.username -Dapp.username”
或者在Windows中:
设置JAVA_OPTS =“ – Dapp.username -Dapp.username”
在启动Tomcat之前执行此操作
对于Tomcat 6,您应该将params添加到startup.sh(Windows startup.bat)。 对于Tomcat 7及更高版本,您应该在{Catalina Root} /bin/setenv.sh中设置参数,如下所示:
export CATALINA_OPTS="$CATALINA_OPTS -Dapp.username=username -Dapp.password=password"
或者在Windows中:
set CATALINA_OPTS="$CATALINA_OPTS -Dapp.username=username -Dapp.password=password"
注意:请注意开头的$ CATALINA_OPTS,这样就不会消除任何先前设置的值。 不这样做可能会产生一个非常难以调试的问题!
如果您设置的参数仅供Tomcat使用,请务必使用CATALINA_OPTS
进行设置。
如果您的应用程序将使用参数,那么请务必使用JAVA_OPTS
。 Tomcat还会读取这些参数。 这也可以在setenv.sh文件中找到。 例如:
export JAVA_OPTS="$JAVA_OPTS -Dapp.username=username -Dapp.password=password"
或者在Windows中:
set JAVA_OPTS="$JAVA_OPTS -Dapp.username=username -Dapp.password=password"
您将需要设置CATALINA_OPTS
系统变量 – 在启动时由Tomcat(并且仅由Tomcat)读取。 正如@Betoverse所说,您可以使用以下两种方法进行设置:
export CATALINA_OPTS="-Dapp.username -Dapp.username"
或者在Windows中:
set CATALINA_OPTS="-Dapp.username -Dapp.username"
您可以将该命令添加到UNIX上的~/.profile
以自动设置它。
我在Windows 10和CentOs 7(Linux)上测试了Tomcat 7/8的params。
1)在Windows上需要在{TOMCAT_HOME} / bin / path中创建setenv.bat并插入这样的代码:
set CATALINA_OPTS=-Dapp.username=admin -Dapp.password=12345
重要提示 :不要使用引号(“”)在Windows上设置参数。
2)在CentOs上需要在{TOMCAT_HOME} / bin / path中创建setenv.sh并插入这样的代码:
export CATALINA_OPTS="-Dapp.username=admin -Dapp.password=12345"
您还可以创建{TOMCAT_HOME} /conf/conf.d/custom.conf并在其中插入相同的导出命令。