2013-03-06 90 views
3

我編譯Java程序使用以下命令:沒有得到在類創建Java類文件的文件夾

javac -cp ./classes/ src/com/oracle/tutorial/jdbc/JDBCTutorialUtilities.java 

但諷刺的是在同一個源文件夾中創建不在類路徑中生成的類文件。所以每次編譯後,我都必須移動類文件。是的,我已經在來源中正確指定了包裹。如何解決它?

回答

4

您應該使用

javac -d ./classes/ src/com/oracle/tutorial/jdbc/JDBCTutorialUtilities.java 

-cp選項用於設置CLASSPATH,而不是指定的輸出目錄。

adarsh$ javac -help 
Usage: javac <options> <source files> 
where possible options include: 
    -g       Generate all debugging info 
    -g:none     Generate no debugging info 
    -g:{lines,vars,source}  Generate only some debugging info 
    -nowarn     Generate no warnings 
    -verbose     Output messages about what the compiler is doing 
    -deprecation    Output source locations where deprecated APIs are used 
    -classpath <path>   Specify where to find user class files and annotation processors 
    -cp <path>     Specify where to find user class files and annotation processors 
    -sourcepath <path>   Specify where to find input source files 
    -bootclasspath <path>  Override location of bootstrap class files 
    -extdirs <dirs>   Override location of installed extensions 
    -endorseddirs <dirs>  Override location of endorsed standards path 
    -proc:{none,only}   Control whether annotation processing and/or compilation is done. 
    -processor <class1>[,<class2>,<class3>...] Names of the annotation processors to run; bypasses default discovery process 
    -processorpath <path>  Specify where to find annotation processors 
    -d <directory>    Specify where to place generated class files 
    -s <directory>    Specify where to place generated source files 
    -implicit:{none,class}  Specify whether or not to generate class files for implicitly referenced files 
    -encoding <encoding>  Specify character encoding used by source files 
    -source <release>   Provide source compatibility with specified release 
    -target <release>   Generate class files for specific VM version 
    -version     Version information 
    -help      Print a synopsis of standard options 
    -Akey[=value]    Options to pass to annotation processors 
    -X       Print a synopsis of nonstandard options 
    -J<flag>     Pass <flag> directly to the runtime system 
    -Werror     Terminate compilation if warnings occur 
    @<filename>    Read options and filenames from file 
0

你NEDD -d作爲一個選項,javac命令

-d目錄 設置類文件的目標目錄。目標目錄必須已經存在; javac不會創建目標目錄。

If **-d** is not specified, javac puts the class file in the same directory as the source file. 

注意,通過-d指定的目錄不會被自動添加到用戶類路徑

相關問題