1

java を使用して、自分のコンピューターに tomcat のインストール ディレクトリを取得したいと考えています。私は使用してみました:

System.getProperty("catalina.base");

System.getProperty("catalina.home");

しかし、どちらの方法nullも答えとして返されます。私はそれを試してみましたSystem.getProperty("java.home");が、Javaパスを正しく返します。問題が何であるかについてのアイデアはありますか?ありがとう

4

3 に答える 3

1

私もあなたと同じエラーに遭遇しました。しかし、Tomcat サーバーが実行されていないことに気付きました。サーバーを起動した後も、Tomcat パスを取得できませんでした。
その後、Tomcat がまだ実行されているときに、JSF プロジェクトのメイン メソッドからパスを取得しようとしていたことに気付きました。
だから私は最終的に tomcat パスを使用して取得しました:プロジェクト内の私の Beanの 1 つSystem.out.println(System.getProperty("catalina.base"));@PostConstructメソッドで。そして、コンソールに正常に表示されました。 @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 に答える
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 に答える
0

テストにキュウリを使用しており、キュウリの場合、プロジェクトの個々のメソッドにアクセスしています。プロジェクトでは、xml の構成を読み込んでおり、場所は Apache tomcat の config フォルダーにあります。プロジェクトを実行すると、System.out.println( System.getProperty("catalina.base") ); 適切なパスを提供しますが、キュウリからプロジェクトのメソッドを呼び出すと、null が返されます

于 2015-11-23T05:24:00.783 に答える