2012-07-11 180 views
2

任何人都可以告訴爲什麼這個錯誤,因爲如果你把你的工作放在終端中?這是代碼。Java中的奇怪錯誤

我使用此代碼來編譯文件夾中的所有文件。

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.util.ArrayList; 
import java.util.List; 

public class Compiles { 
    public static void main(String[] args) { 
      List<String> compileFileCommand = new ArrayList<String>(); 
      List<String> files = new FileList().getListFile(); 
      List<String> libs = new ListLib().getListFile(); 
      compileFileCommand.add("/opt/java/bin/javac"); 

      for(int i = 0; i < files.size(); i++) 
      { 

       if(files.get(i).equals("Compiles.java")) 
        continue; 

       if(files.get(i).equals("Compile.java")) 
        continue; 

       String fileJar = new CreateFolder().currentData() + "/" + files.get(i) + " -cp lib/"; 

    //      for (int y = 0; y < libs.size(); y++) 
    //      { 
    //       fileJar += libs.get(y) + ":"; 
    //       if(libs.size() -1 == y) 
    //        fileJar += libs.get(y); 
    //      } 

        fileJar += libs.get(0); 



        compileFileCommand.add(fileJar); 

        Process compile_process; 
        try { 
          compile_process = new ProcessBuilder(compileFileCommand) 
              .redirectErrorStream(true).start(); 
        } catch (IOException e) { 
          // TODO Auto-generated catch block 
          e.printStackTrace(); 
          return; 
        } 
        try { 
          compile_process.waitFor(); 
        } catch (InterruptedException e) { 
          // TODO Auto-generated catch block 
          e.printStackTrace(); 
        } 

        BufferedReader reader = new BufferedReader(new InputStreamReader(
            compile_process.getInputStream())); 
        String line = null; 
        try { 
          line = reader.readLine(); 
        } catch (IOException e1) { 
          // TODO Auto-generated catch block 
          e1.printStackTrace(); 
        } 
        while (line != null) { 
          System.out.println(line); 
          try { 
            line = reader.readLine(); 
          } catch (IOException e) { 
            // TODO Auto-generated catch block 
            e.printStackTrace(); 
          } 
        } 
      } 
    } 
} 

的錯誤如下

javac: invalid flag: temp_11.07.2012/CreateFolder.java -cp lib/gdata-media-1.0.jar 
Usage: javac <options> <source files> 
use -help for a list of possible options 

這些數據的例子,這是什麼讓

+0

你使用什麼命令行編譯 – 2012-07-11 09:37:36

+0

javac命令.. – Krasimir 2012-07-11 09:49:10

+0

不,你的程序生成的確切命令行是什麼。 – 2012-07-11 14:19:56

回答

1

你嘗試把「-cp」選項的文件名前你想編譯?

如果不是這樣,給我們一個完整的命令行。

+0

我試過了,'-cp'把它放在任何地方,仍然沒有工作 – Krasimir 2012-07-11 09:32:12

+0

完整的命令行plz。 – Sabbath 2012-07-11 09:37:41

+0

這個? 的javac:無效的標誌:temp_11.07.2012/-cp CreateFolder.java LIB/GDATA媒體-1.0.jar 用法:javac的<源文件> 使用-help爲可能的選項 – Krasimir 2012-07-11 09:41:06