2013-10-02 114 views
1

当运行这段代码编译这个目录中的一个.java文件:编程编译.java文件,错误

String title = txtName.getText(); 
     String name = title + ".Java"; 
     String src = Minecraft.getMinecraft().mcDataDir.getParent().toString() + "/saves/" + world.getWorldInfo().getWorldName().toString() + "/TechRev/Compiler/"; 
     compile(src + name); 

使用这种方法:

public void compile(String file) { 
    String fileToCompile = file; 
    JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); 
    int compilationResult = compiler.run(null, null, null, fileToCompile); 
    if (compilationResult == 0) { 
     System.out.println("Compilation is successful"); 
    } else { 
     System.out.println("Compilation Failed"); 
    } 
} 

我的控制台得到这个错误Eclipse Juno(Java 6):

2013-10-02 20:47:47 [INFO] [STDERR] javac: invalid flag: /Users/marko5049/Desktop/Modding/forge/mcp/jars/saves/TechRev/TechRev/Compiler/TechRev.Java 
2013-10-02 20:47:47 [INFO] [STDERR] Usage: javac <options> <source files> 
2013-10-02 20:47:47 [INFO] [STDERR] use -help for a list of possible options 
2013-10-02 20:47:47 [INFO] [STDOUT] Compilation Failed 

请有人向我解释为什么会发生这种情况并告诉我如何解决这个问题?谢谢!

-Regards 马克

回答

6

你的文件名以.Java结束 - 它应该是.java。否则,编译器不会期望它是源文件,而是试图将其作为标志进行处理。

1

的.java没有的.java

String name = title + ".Java"; 

改变这

`String name = title + ".java"`;