2012-09-14 52 views
0

對不起我的英文不好。關於apache httpd啓動的Java麻煩

我試圖從Java啓動Apache的httpd服務器上的Windows

public static Process pp; 

    @Override 
    public void run() { 
     try { 

      Runtime run = Runtime.getRuntime(); 
      try { 

       MyThread.pp = run.exec("usr/local/apache24/bin/httpd.exe");     
       BufferedReader in = new BufferedReader(new InputStreamReader(MyThread.pp.getErrorStream())); 
       String line; 
       while ((line = in.readLine()) != null) { 
        System.out.println(line); 
       } 

如果Apache HTTPD將無輸出到控制檯啓動(沒有錯誤和警告),那麼這段代碼正確啓動的Apache的httpd服務器(有兩個在RAM中的進程),並一切正常。

但是,如果Apache HTTPD服務器有任何輸出到控制檯,則此Java代碼無法正確啓動Apache HTTPD服務器。 例如,如果Apache的httpd服務器已經輸出了控制檯

AH00112: Warning: DocumentRoot [C:/Art/Dropbox/OpenSource/MyGIT/myprivatesite/] 
does not exist 
AH00548: NameVirtualHost has no effect and will be removed in the next release C 
:/Art/MyServer/usr/local/apache24/conf/httpd.conf:535 

比Java開始只有一個執行Apache服務器的過程中,他是不能工作。

如何啓動Apache HTTPD服務器,如果他有任何控制檯輸出?

+0

爲什麼?只需將其作爲服務安裝即可。你不需要Java。 – EJP

+0

我使我的便攜包,我不想安裝服務 –

回答

1

您是否嘗試連接所有3個流到控制檯?我認爲代碼看起來不錯。