2013-08-10 14 views
6

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

javac -1.6 Hello.java 
+0

?そうでない場合は、使用しているものを正確に記入してください。 –

+0

'-bootclasspath'オプションを追加して、1.6のクラス、メソッド、または属性がコード内で使用されないようにしてください。 –

+0

これは次のように動作しました:javac -target 1.6 -source 1.6 Hello.java –

答えて

6

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

javac -target 1.6 -source 1.6 Hello.java 
+0

あなたの答えはありがとう、それは働いた。 @georgiana_e。 –

+0

どういたしまして :) –

7

使用:この情報は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 
4

Java docは、VMの指定されたバージョンをターゲットクラスファイルを生成し

By default, classes are compiled against the bootstrap and extension classes of theplatform that javac shipped with. But javac also supports cross-compiling, where classesare compiled against a bootstrap and extension classes of a different Java platformimplementation. 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 
0

使用:uは何を使っている私は、この正確なコマンド

javac -target 1.6 -source 1.6 Hello.java 
関連する問題