28

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

  1. 操作系统 = Windows
  2. Tomcat = tomcat 6.0.27

请帮我?

4

6 回答 6

38

对于 Tomcat 6,您应该将参数添加到 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"
于 2016-03-08T20:39:50.113 回答
19

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

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

或在 Windows 中:

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

在启动 Tomcat 之前执行此操作

于 2013-02-20T15:58:39.110 回答
8

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

export CATALINA_OPTS="-Dapp.username -Dapp.username"

或在 Windows 中:

set CATALINA_OPTS="-Dapp.username -Dapp.username"

您可以将该命令添加到您~/.profile的 UNIX 上以自动设置它。

于 2013-02-20T16:04:21.930 回答
5

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

set CATALINA_OPTS=-Dapp.username=admin -Dapp.password=12345

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

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

export CATALINA_OPTS="-Dapp.username=admin -Dapp.password=12345"

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

于 2017-11-01T13:22:26.713 回答
4

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

CATALINA_OPTS="-Dparam1=value1 -Dparam2=value2" catalina.sh start
于 2018-11-05T17:41:12.113 回答
0

在启动 tomcat 服务器之前右键单击项目 --> 运行方式 --> 运行配置第二个选项卡 --> -Dname = values , -Dname =values , -Dname=values

+Dname=value 怎么样,它被加密的值

于 2020-04-17T10:12:35.553 回答