获取tomcat以溢出系统属性

时间:2018-07-10 14:26:56

标签: java tomcat system-properties

我用Google搜索了我能想到的一切,却找不到任何东西。

有人知道让tomcat转储当前运行时环境的System.getProperties()输出的方法吗?有时候拥有它肯定会很有用。

3 个答案:

答案 0 :(得分:3)

如果您使用Java任务控制工具,则实际上可以复制粘贴值:

$JAVA_HOME/bin/jmc

针对您的Tomcat的JVM进程启动JMX控制台,然后在System标签下查看。您可以查看所有值,并将这些值复制到System properties下。

enter image description here

如果要从远程计算机执行此操作,则可能需要检查the documentation on enabling remote JMX

答案 1 :(得分:0)

从我的答案here,创建具有以下内容的JSP:

<%@ page import="java.util.Properties" %>
<%@ page import="java.util.Set" %>

<%
Properties p = System.getProperties();

Set<String> keys = p.stringPropertyNames();
for (String key : keys)
  out.println(key + " : " + p.getProperty(key));

%>

请记住,除了管理员(除了存储在属性中的开发人员团队,也不应该知道数据库密码),您不应该向管理员透露此信息。

答案 2 :(得分:0)

除了Java Mission Control外,您还可以使用icmd来实现。首先列出具有以下内容的Java进程:

$JAVA_HOME/bin/jcmd

然后输入Tomcat进程的PID:

$JAVA_HOME/bin/jcmd <pid> VM.system_properties