我正在使用以下命令编译Java程序:
javac -cp ./classes/ src/com/oracle/tutorial/jdbc/JDBCTutorialUtilities.java
但具有讽刺意味的是,生成的类文件是在不在类路径中的同一源文件夹中创建的。所以每次编译后我都要移动类文件。是的,我已在源中正确指定了包。如何解决?
答案 0 :(得分:4)
你应该使用
javac -d ./classes/ src/com/oracle/tutorial/jdbc/JDBCTutorialUtilities.java
-cp
选项用于设置类路径,而不是用于指定输出目录。
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
答案 1 :(得分:3)
您可以使用-d参数指定javac的输出文件夹。
答案 2 :(得分:0)
您将 -d 作为javac命令的选项
-d 目录 设置类文件的目标目录。目标目录必须已存在; javac不会创建目标目录。
If **-d** is not specified, javac puts the class file in the same directory as the source file.
请注意, -d 指定的目录不会自动添加到您的用户类路径