2013-12-23 84 views
1

啓動Tomcat服務對不起,問愚蠢的疑問 我使用的Apache tamcat, 的壓縮版本時,我手動啓動方式(點擊的startup.bat)Tomcat服務是啓動沒有問題, 但如果我要通過java程序就開始顯示以下錯誤通過編程

「的CATALINA_HOME環境變量未正確定義 需要這個環境變量來運行這個程序」

代碼段:

public static void main(String args[]){ 
    Runtime runtime = Runtime.getRuntime(); 
    try { 
     Process p1 = runtime.exec("cmd /c start D:\\Apache_Tomcat64\\bin\\startup.bat"); 
     InputStream is = p1.getInputStream(); 
     int i = 0; 
     while((i = is.read()) != -1) { 
      System.out.print((char)i); 
     } 
    } catch(IOException ioException) { 
     System.out.println(ioException.getMessage()); 
    } 

我在想,問題以管理員身份運行 但我不知道如何處理它 取悅任何建議或解決方案 感謝提前

回答

1

我認爲這個問題是在工作目錄位置。

當您運行startup.bat時,它會嘗試在啓動Java類的目錄中找到catalina.bat文件,但不會在Tomcat所在的目錄中找到該文件。

你可以嘗試下一個地修改代碼

public static void main(String args[]){ 
     Runtime runtime = Runtime.getRuntime(); 
     try { 
      File workingDirectory = new File("D:\\Apache_Tomcat64\\bin"); 
      Process p1 = runtime.exec("cmd /c start D:\\Apache_Tomcat64\\bin\\startup.bat", new String[0], workingDirectory); 
      InputStream is = p1.getInputStream(); 
      int i = 0; 
      while((i = is.read()) != -1) { 
       System.out.print((char)i); 
      } 
     } catch(IOException ioException) { 
      System.out.println(ioException.getMessage()); 
     } 
    }