2011-07-08 42 views
0

我试图在命令提示符下执行这个命令来查找我的编译错误。我所分解的是,javac将文件名称之一作为标志(选项),这就是为什么它不能执行。我该如何解决?javac无效标志

C:\Users\AUG>javac -verbose -classpath "C:\Program Files\MATLAB\R2010b\toolbox\j 
avabuilder\jar\javabuilder.jar" -d "C:\Users\AUG\Documents\SourceTraceJAVA\Sourc 
eTrace\src\classes" "C:\Users\AUG\Documents\SourceTraceJAVA\epanet2.h" "C:\Users 
\AUG\Documents\SourceTrace\src\SourceTrace\SourceTrace.java" "C:\Users\AUG\Docum 
ents\SourceTraceJAVA\SourceTrace\src\SourceTrace\SourceTraceMCRFactory.java" "C: 
\Users\AUG\Documents\SourceTraceJAVA\SourceTrace\src\SourceTrace\SourceTraceRemo 
te.java" "C:\Users\AUG\Documents\SourceTraceJAVA\SourceTrace\src\SourceTrace\pac 
kage-info.java" 
javac: invalid flag: C:\Users\AUG\Documents\SourceTraceJAVA\epanet2.h 
Usage: javac <options> <source files> 
use -help for a list of possible options 

它将epanet2.h文件视为标志而不是文件。语法有没有错误? 我该如何解决这个问题?

+0

什么是'.h'文件?一个C/C++头文件? – NPE

+0

是的..它是一个C/C++头文件。 – Nick

+0

您如何期望在javac编译器中使用C/C++包含文件? – KevinDTimm

回答

5

Java不知道如何处理.h文件 - 它看起来(基于扩展名)就像一个C头文件,因此它不应该包含在传递给javac的文件列表中,或者它是有效的java源文件,然后将其扩展名更改为.java

+0

我想打包DLL和头文件以及该jar中的java文件。我还能如何将标题包含在该jar中? – Nick

+3

您仍然可以将它们指定为'jar'命令的参数 - 但不能指向'javac'命令。 'javac'编译代码,'jar'将它们打包。 – Liv

+0

任何人都可以显示如何先编译代码的语法,然后将它们在jar中打包?这将非常有帮助。我很长时间以来一直在苦苦挣扎。 – Nick

1

*.h不是有效的java源文件扩展名。