0

Eclipse 3.5.2 と JDK for Java 6 をインストールしました。

これがEclipseにインストールされたJREです

代替テキスト http://img806.imageshack.us/img806/3345/eclipsejres.jpg

Ant ビルド ファイルでコンパイルしようとしています。その一部は次のようになり、Java 1.5 を指定します。

<target name="compile" depends="build-common, init" description="Compile files. ">
    <javac srcdir="${src_dir}" destdir="${build_dir}" debug="true" target="1.5" source="1.5">
        <classpath path="${tomcat_home}/lib/servlet-api.jar;${tomcat_home}/lib/log4j-1.2.15.jar;/usr/local/lib/portlet-api-1.0.jar;." />
    </javac>
</target>

しかし、コンパイルしようとすると、コンソール ウィンドウに次のエラーが表示されます。

compile:
    [javac] Compiling 1 source file to H:\jephperro\portlets\build
    [javac] javac: invalid target release: 1.5
    [javac] Usage: javac <options> <source files>
    [javac] where possible options include:
    [javac]   -g                        Generate all debugging info
    [javac]   -g:none                   Generate no debugging info
    [javac]   -g:{lines,vars,source}    Generate only some debugging info
    [javac]   -nowarn                   Generate no warnings
    [javac]   -verbose    ....

BUILD FAILED
H:\jephperro\portlets\CourseList-build.xml:25: Compile failed; see the compiler error output for details.

Total time: 531 milliseconds

Eclipse の何が問題なのですか?

4

5 に答える 5

1

詳細については、コンパイラ エラー出力を参照してください。

1.5 JDK より新しいバージョンの Java を使用してコンパイルされたライブラリに依存している可能性があります。

実際、1.5 JDK はどこにありますか? 私が見るのはJREだけです。私の推測では、バージョン 1.5 JDK をダウンロードして Eclipse に追加するだけで済みます。

于 2010-07-15T18:43:58.213 に答える
0

同等のものを実行する ant ビルド ファイル内にタスクを作成するとjava -version、Eclipse によって起動された ant によってどの Java コンパイラが使用されているかがわかります。

ヒント: デフォルトの JRE は 1.6 JRE です。コードの実行には問題ありませんが、コンパイルには問題ありません。JDK だけが、外部コンパイル (ant による実行など) に必要な魔法を含んでいます。Eclipse は、独自のコードにインクリメンタルな Java コンパイラを含めることで、これを回避します (さらに魔法のように)。

何年も経った今でも、Eclipse、ant、および JDK の相互運用方法を完全には理解していないので、少し実験する必要があるかもしれません。

于 2010-07-15T18:48:51.850 に答える
0

Saifuddin と他の人が述べたように、このエラーは、必要なバージョンに適切な Java コンパイラを使用していないことが原因である可能性が最も高いです。インストールされている JRE に、DevsuiteHome_1 にある JDK があることに気付きました。どのバージョンかはわかりません。多分Antはそれを使用していますか?

確認はとても簡単です。Eclipse 内で ant を実行しています。Ant には、ワークスペースによって異なる独自の構成設定があります。実行時に Ant が使用しているバージョンを確認するには、次の手順に従います。

実行 -> 外部ツール -> 外部ツール構成 -> ant ビルド ファイルをクリックします (ここで常に作成できない場合は、既に一度実行した場合に作成する必要があります) -> JRE タブを選択します -> ランタイムを確認します使用して

于 2010-07-16T06:44:31.690 に答える
0

AFAIR Eclipse は、Ant ファイルの実行時に独自の内部 Java コンパイラを使用しません。ローカル パスを確認し、Ant によって呼び出される javac を見つけてください。

于 2010-07-15T18:53:59.497 に答える
0

「javac: 無効なターゲット リリース: 1.5」コンパイル エラーは、通常、ソース/バイナリ レベルの非互換性が原因で発生します。つまり、JDK 1.4 以下で JDK 5 のソース レベルをコンパイルしようとしています。

Eclipse uses a built-in Java compiler. The level actually followed by the compiler depends on the project settings. You can configure the Java level per project or set it as a default at a global level.

From the menu bar, select Window->Preferences. Select the Java->Compiler preference. Set the Compiler Compliance level to 5.0.

于 2010-07-15T19:04:56.440 に答える