11

コマンド ラインで Java プログラムをコンパイルする必要があり、コンパイラ レベルを低いレベル (1.6) に設定しようとしています。私はこのように試しましたが、うまくいきませんでした:

javac -1.6 Hello.java
4

4 に答える 4

11

用途-source-targetオプション:

javac -target 1.6 -source 1.6 Hello.java
于 2013-08-10T13:51:20.783 に答える
8

使用する:javac -source 1.6 -target 1.6 Hello.java


この情報は、次の実行から得られます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
于 2013-08-10T13:51:37.223 に答える
4

Java docによると、(クロスコンパイルオプションを検索してください)

By default, classes are compiled against the bootstrap and extension classes of the platform that javac shipped with. But javac also supports cross-compiling, where classes are compiled against a bootstrap and extension classes of a different Java platform implementation. It is important to use -bootclasspath and -extdirs when cross-compiling; see Cross-Compilation Example below.

-target version

指定したバージョンの VM を対象とするクラス ファイルを生成します。クラス ファイルは、指定されたターゲットとそれ以降のバージョンで実行されますが、以前のバージョンの VM では実行されません。有効なターゲットは、1.1、1.2、1.3、1.4、1.5 (5 も)、1.6 (6 も)、および 1.7 (7 も) です。-target のデフォルトは、-source の値によって異なります。

If -source is not specified, the value of -target is 1.7
If -source is 1.2, the value of -target is 1.4
If -source is 1.3, the value of -target is 1.4
If -source is 1.5, the value of -target is 1.7
If -source is 1.6, the value of -target is 1.7
For all other values of -source, the value of -target is the value of -source.

そう、

javac -target 1.6 -source 1.6 yourJavaProgram.java
于 2013-08-10T13:54:13.823 に答える