2017-03-19 9 views
0

をソナーランナーのコマンドを実行中にエラーを取得する私は以下を実行できるJavaコードを記述する必要があるポイントを述べた:Javaコードを通じて

  1. G:\Java\Workspace」と言う、指定したディレクトリに移動する必要があります。
  2. このディレクトリに到達したら、「s onar-runner」コマンドを実行する必要があります。

上記の点の実行がコマンドプロンプトで行われるようにコードを記述する必要があることに注意してください。

以下のエラーメッセージが表示されます。また、私が使用したコードスニペットも見てください。 誰もがこれを見て、私がここでやっている間違いを教えてもらえますか?

私は以下の例外を取得しています:

java.io.IOException: Cannot run program "sonar-runner" (in directory "G:\Java\Workspace"): CreateProcess error=2, The system cannot find the file specified 
at java.lang.ProcessBuilder.start(Unknown Source) 
at java.lang.Runtime.exec(Unknown Source) 
at java.lang.Runtime.exec(Unknown Source) 
at com.nitish.swing.code.ExecuteSonar.run(SonarAutomation.java:67) 
at java.util.TimerThread.mainLoop(Unknown Source) 
at java.util.TimerThread.run(Unknown Source) 
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified 
at java.lang.ProcessImpl.create(Native Method) 
at java.lang.ProcessImpl.<init>(Unknown Source) 
at java.lang.ProcessImpl.start(Unknown Source) 
... 6 more  

私のコードは次のとおりです。

class ExecuteSonar extends TimerTask { 
    final String proj_dir = "G:\\Java\\Workspace"; 
    final String cmd = "sonar-runner"; 
    Date now; 

    @Override 
    public void run() { 
     now = new Date(); 
     Runtime rt = Runtime.getRuntime(); 
     System.out.println("The Time is:" + now); 
     try { 
      rt.exec(cmd, null, new File(proj_dir)); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

答えて

0

あなたが実行可能(sonar-runner)への相対パスを提供している、そしてそれが発見されていません。

The system cannot find the file specified

これは、子プロセスによって継承された値$PATHの質問です。私はそれが空であると思うと思う。 Other answers existを入力してください。

関連する問題