如何在启动tomcat时传递-D附加参数?

Rai*_*lam 22 java parameters environment batch-file tomcat6

我有一个maven项目,运行命令mvn install all project以及模块编译并成功复制到本地存储库.但现在我想在tomcat6中运行生成的Web应用程序.客户端为tomcat提供了一些参数,-Dapp.username,-Dapp.username,一旦项目启动就会在内部使用.但我不知道如何在tomcat6中设置这些附加参数.以下是我的开发环境

  1. OS = Windows
  2. Tomcat = tomcat 6.0.27

请帮我?

Dav*_*idR 29

对于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"
Run Code Online (Sandbox Code Playgroud)

或者在Windows中:

set CATALINA_OPTS="$CATALINA_OPTS -Dapp.username=username -Dapp.password=password"
Run Code Online (Sandbox Code Playgroud)

注意:请注意开头的$ CATALINA_OPTS,这样就不会消除任何先前设置的值.不这样做会造成很难调试的问题!

如果您设置的参数仅供Tomcat使用,请务必使用它进行设置CATALINA_OPTS.

如果您的应用程序将使用参数,请务必使用JAVA_OPTS.Tomcat还将读取这些参数.这也可以在setenv.sh文件中找到.例如:

export JAVA_OPTS="$JAVA_OPTS -Dapp.username=username -Dapp.password=password"
Run Code Online (Sandbox Code Playgroud)

或者在Windows中:

set JAVA_OPTS="$JAVA_OPTS -Dapp.username=username -Dapp.password=password"
Run Code Online (Sandbox Code Playgroud)

  • 这个答案需要更多的支持.catalina_opts更整洁 (3认同)

bet*_*ejo 15

您可以设置环境变量来执行此操作.例如在Linux中:

export JAVA_OPTS =" - Dapp.username -Dapp.username"

或者在Windows中:

设置JAVA_OPTS =" - Dapp.username -Dapp.username"

在启动Tomcat之前执行此操作

  • 我会`导出JAVA_OPTS ="$ {JAVA_OPTS} -Dapp.username -Dapp.username"`只是为了安全. (6认同)

Bor*_*der 6

您将需要设置CATALINA_OPTS系统变量 - 启动时由Tomcat(并且仅由Tomcat)读取.正如@Betoverse所说,您可以使用以下两种方法进行设置:

export CATALINA_OPTS="-Dapp.username -Dapp.username"
Run Code Online (Sandbox Code Playgroud)

或者在Windows中:

set CATALINA_OPTS="-Dapp.username -Dapp.username"
Run Code Online (Sandbox Code Playgroud)

您可以将该命令添加到~/.profileUNIX上以自动设置它.


Mak*_*iuk 6

我已经在 Windows 10 和 CentOs 7 (Linux) 上测试了 Tomcat 7/8 的参数。
1)在 Windows 上需要在{TOMCAT_HOME}/bin/路径中创建setenv.bat并在其中插入这样的代码:

set CATALINA_OPTS=-Dapp.username=admin -Dapp.password=12345
Run Code Online (Sandbox Code Playgroud)

重要提示:不要使用引号 (" ") 在 Windows 上设置参数。

2)在CentOs上需要在{TOMCAT_HOME}/bin/路径中创建setenv.sh并在其中插入这样的代码:

export CATALINA_OPTS="-Dapp.username=admin -Dapp.password=12345"
Run Code Online (Sandbox Code Playgroud)

您还可以创建 {TOMCAT_HOME}/conf/conf.d/custom.conf并在其中插入相同的导出命令。


Ter*_*ner 5

如果您不想更改环境或编辑 .sh 文件,您可以使用如下内容启动服务器

CATALINA_OPTS="-Dparam1=value1 -Dparam2=value2" catalina.sh start
Run Code Online (Sandbox Code Playgroud)