Javaプログラムをコマンドラインでコンパイルする必要があり、コンパイラレベルをより低いもの(1.6)に設定しようとしています。私はこのようにしようとしたが、それはうまくいきませんでした:Javaコンパイラ準拠レベルを設定する
javac -1.6 Hello.java
Javaプログラムをコマンドラインでコンパイルする必要があり、コンパイラレベルをより低いもの(1.6)に設定しようとしています。私はこのようにしようとしたが、それはうまくいきませんでした:Javaコンパイラ準拠レベルを設定する
javac -1.6 Hello.java
使用-source
と-target
オプション:
javac -target 1.6 -source 1.6 Hello.java
あなたの答えはありがとう、それは働いた。 @georgiana_e。 –
どういたしまして :) –
使用:この情報はjavac -help
を実行しているから来てjavac -source 1.6 -target 1.6 Hello.java
:
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
Java docは、VMの指定されたバージョンをターゲットクラスファイルを生成し
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では実行されません。有効なターゲットは、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
使用:uは何を使っている私は、この正確なコマンド
javac -target 1.6 -source 1.6 Hello.java
?そうでない場合は、使用しているものを正確に記入してください。 –
'-bootclasspath'オプションを追加して、1.6のクラス、メソッド、または属性がコード内で使用されないようにしてください。 –
これは次のように動作しました:javac -target 1.6 -source 1.6 Hello.java –