2017-01-09 22 views
0

我是從印尼來的,我不能用我的項目(與Java) 用於運行服務器的PostgreSQL,我有說英語如何檢測MSVCR120.dll與Java項目缺少

我計劃運行PostgreSQL二進制2路: 1. * .bat文件 2.包括在我的Java項目

當我運行* .bat文件,我是獲得新的Windows錯誤消息「程序無法啓動,因爲MSVCR120.dll是從您的計算機中丟失.....「

但如果我運行我的Java項目,我沒有得到新的Windows錯誤消息,但服務器沒有運行..

所以,我怎麼能我秀或捕捉新的Windows錯誤消息,與我的Java項目

或我怎麼能是檢查MSVCR120.dll不缺少

我具有源代碼運行PostgreSQL服務器:之前

//jika pertama kali dijalankan (folder data tidak ada) 
     System.out.println("Firs Time Run"); 
     ProcessBuilder pb = new ProcessBuilder(PathAplication.PostgreBinPath + "\\initdb", 
       "-U", PG_USER_ROOT, "-A", "trust", "-E", "utf8", "--locale=C"); 
     Map<String, String> env = pb.environment(); 
     env.put("PGDATA", PathAplication.PostgreDataPath); 
     env.put("PGDATABASE", PG_DATABASE_ROOT); 
     env.put("PGUSER",PG_USER_ROOT); 
     env.put("PGPORT",PG_PORT); 

     try { 
      Process p = pb.start(); 
      InputStream is = p.getInputStream(); 
      BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 

      String line; 
      boolean started = false; 

      while(!started && (line = reader.readLine()) != null){ 
       System.out.println(line); 
       started = line.contains("database system is ready to accept connections"); 
      }    
      RunServer(); 
     } catch (IOException ex) { 
      Logger.getLogger(FrameRunCommandLine.class.getName()).log(Level.SEVERE, null, ex); 
     } 

感謝...

+1

向我們展示您的批處理文件和Java代碼。 –

回答

1

你還需要安裝MSVC可再發行的x86版。

我發現即使在安裝MSVC可再發行組件的x64版本之後,SysWOW64目錄中仍缺少msvcp120.dll文件。這個問題在安裝x86版本後解決。

注意:即使您正在使用的x64

+0

是的,安裝msvc重新分發是我的錯誤消息的解決方案。但是,如何從我的java項目中捕獲錯誤消息? –

+0

正確,並且不要試圖檢查它是否丟失。每次運行redist安裝程序作爲程序安裝程序的一部分。 –

+0

非常感謝, –