2011-07-08 67 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源文件擴展名。