当前位置: 首页 > 知识库问答 >
问题:

将VM参数传递给Apache Tomcat[重复]

齐浩淼
2023-03-14

我有一个web项目与VM参数称为"-Dfile"

我在applicationContext上使用这个参数如下:

<value>file:${FNET_CORE_CONFIG}/conf/${folder}/jdbc.properties</value>

在Eclipse中,为了进行测试,我使用“运行配置”来设置如下值:

-Dfolder=Dev

现在,我想在ApacheTomcat上测试我的webapp,所以我需要设置/发送folder VM参数。

我怎么做到的?

我必须使用setenv。嘘?怎样有人能给我举个例子吗?

谢谢对不起我的英语

共有3个答案

翁阳曜
2023-03-14

通过生成setenv,使其在Windows中工作。bat文件与catalina位于同一目录中。蝙蝠和创业。bat(如catalina.bat中的建议)并放入。蝙蝠:

set CATALINA_OPTS="-DyourVariableName=yourValue"

就这样我喜欢这样看起来很干净

沈思博
2023-03-14

转到$CATALINA_主页编辑setenv。sh文件,方法是将参数与值相加。如果要聚集多个参数,请使用space

例如. g.

cd /opt/tomcat/bin/ 
sudo nano setenv.sh 

编辑这行

CATALINA_OPTS="${CATALINA_OPTS}" 

CATALINA_OPTS="${CATALINA_OPTS} -Dparam=value -Dparam2=value2" 

重新启动tomcat:

service tomcat restart

现在,您应该能够在运行时看到传递给tomcat的参数:

ps aux | grep tomcat
蓝华皓
2023-03-14

我不知道您使用的Tomcat版本,但在Tomcat 7文件中catalina.sh您可以指定变量CATALINA_OPTS这个变量将传递给jvm。

但设置环境变量可能不是实现目标的最佳方式。最好是创建单独的“app.properties”文件,并将其包含在applicationContext中,如下所示:

<context:property-placeholder location="classpath*:app.properties" />

还有卡塔琳娜的解决方案。嘘

#   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.

例子:

CATALINA_OPTS="-文件夹=开发"

编辑:

对于windows,它应该类似于set CATALINA_OPTS=“-Dfolder=Dev”

编辑:

在Spring配置中,您可以像${propertyname}一样使用系统属性,还可以包含带有属性定义的文件,带有context:property placeholder,并且该文件中定义的所有属性也可以在配置中使用。

例如,您有基本集属性:config。属性,以及具有db连接设置的文件集(DEV.properties、UAT.properties、PROD.properties)。那么,如何为不同的环境包含不同的属性呢?它可以通过多种方式完成,例如,在catalina中设置系统属性。球棒

set CATALINA_OPTS="-Dbuild=DEV"

应用程序配置中。xml

<context:property-placeholder location="classpath*:${build}.properties, classpath*:config.properties" />

或者,您可以创建不同的构建配置,并在最终WAR中为每个构建配置只包含一个属性(DEV、UAT、PROD)。在applicationConfig中设置如下内容:

<context:property-placeholder location="classpath*:*.properties" />
 类似资料:
  • 问题内容: 我正在使用Go内置的http服务器,并拍拍来响应一些URL: 我需要向该处理函数传递一个额外的参数-一个接口。 如何向处理程序函数发送额外的参数? 问题答案: 通过使用闭包,您应该能够做您想做的事情。 更改为以下内容(未测试): 然后对

  • 我在解一个有很多常数的非线性方程 我创建了一个用于解决以下问题的函数: 然后我想做: 但是正在解包并向函数传递太多参数,因此我得到: TypeError:terminalV()正好接受2个参数(给定6个) 那么,我的问题是,我是否可以通过某种方式将元组传递给调用的函数?

  • 问题内容: 在我的RCP应用程序中,左侧有一个用于导航的视图,右侧有一个用于视图的文件夹。透视图看起来像这样: 我想根据用户在导航树中选择的内容打开不同的视图。认为这并不难。我的导航树视图: 这似乎很好。仅有一个小问题:我需要以某种方式将对象(例如,selectedItem)传递给我的视图,以使用户与其内容进行交互。我怎么做? 我看到了一些示例,其中一些同事编写了自己的视图,并将其放置在右侧。然后

  • 问题内容: 我正在尝试为我的程序制作验证类。我已经建立了与MySQL数据库的连接,并且已经在表中插入了行。该表由,和领域。现在,我想通过构造函数的参数在数据库中选择特定的行。 但这似乎没有用。 问题答案: 您应该使用方法设置。这既可以确保语句的格式正确,又可以防止: Java教程中有一个很好的教程,说明如何正确使用。

  • 问题内容: 我正在寻找一种将变量或字符串或任何东西传递给JButton的匿名actionlistener(或显式actionlistener)的方法。这是我所拥有的: 现在,我只是声明是一个全局变量,但是我讨厌这种工作方式。有更好的选择吗? 问题答案: 创建一个实现该接口的类。 提供具有参数的构造函数。 问题?

  • 我有一些JMH基准测试,我正在尝试分析。我想启用 GC 日志记录以查看生成了多少垃圾,但我不知道如何传递 JVM 参数。我知道JMH在分叉的JVM中运行基准测试,所以对我来说如何做到这一点并不是很明显。我正在使用断续器。