1

我想使用java在我的计算机中获取tomcat的安装目录。我尝试使用:

System.getProperty("catalina.base");

System.getProperty("catalina.home");

但是这两种方法都null作为答案返回。我试过了System.getProperty("java.home");,它正确地返回了java路径。关于问题是什么的任何想法?谢谢

4

3 回答 3

1

尝试安装此 JSP 并为“property”参数传递各种值:

<%
  String propertyName = request.getParameter("property");
  Object propertyValue;
  String typeString;
  if(null == propertyName)
    propertyValue = null;
  else
    propertyValue = System.getProperty(propertyName);

  if(null == propertyValue)
    typeString = "null";
  else
    typeString = propertyValue.getClass().getName();
%>
The system property <code><%= propertyName %></code> has the value:
<code><%= propertyValue %></code> (<%= typeString %>).

也许您可以找到属性值返回 null 的模式。

于 2012-05-25T17:31:05.527 回答
1

我也遇到了和你一样的错误。但后来我意识到tomcat服务器没有运行。启动服务器后,还是无法获取到tomcat路径。
然后我意识到我试图在tomcat仍在运行时从JSF项目中的main方法获取路径。
所以我终于通过使用:System.out.println(System.getProperty("catalina.base"));在我的一个项目中的一个bean的@PostConstruct方法中获得了tomcat路径。并成功显示在控制台中。 @ViewScopedJSFC:\Documents and Settings\S!LENT W@RRIOR\Application Data\NetBeans\7.2.1\apache-tomcat-7.0.27.0_baseNetBeans

所以为了获取Tomcat的安装目录,需要注意以下几点:

  • Tomcat 服务器正在运行
  • 你不是想从main方法 中获取路径

希望这可以帮助

于 2013-02-08T04:45:20.993 回答
0

我们正在使用黄瓜进行测试,在黄瓜的情况下,我们正在访问项目的个人方法。在项目中,我们正在读取 xml 的配置,位置在 Apache tomcat 的 config 文件夹中。现在当我运行项目时,System.out.println( System.getProperty("catalina.base") ); 它提供了正确的路径但是当我从黄瓜调用项目的方法时它返回 null

于 2015-11-23T05:24:00.783 回答