1

私は走った:

javac Perf.java

そして得た:

ERROR in Prefs.java (at line 36)

HashMap<String, String> map = new HashMap<String, String>();
        ^^^^^^^^^^^^^^
Syntax error, parameterized types are only available if source level is 1.5

入力するとjava -version :

javaバージョン「1.6.0_0」
IcedTea6 1.4 (fedora-11.b14.fc10-i386) ランタイム環境 (ビルド 1.6.0_0-b14)
OpenJDK クライアント VM (ビルド 14.0-b08、混合モード)

javac -version私を取得します:

Eclipse Java コンパイラ 0.883_R34x、3.4.1 リリース、著作権 IBM Corp 2000、2008。無断複写・転載を禁じます。

これは Fedora 10 の新規インストールです。このアイスティー ビジネスとは何ですか? Java コンパイラーがデフォルトで Eclipse コンパイラーになるのはなぜですか? 誰かこの狂気を説明してくれ...

4

2 に答える 2

1

Fedoraはデフォルトでオープンソースソフトウェアを使用します。Icedteaは、OpenJDKを完全にオープンソースにしたものです。Eclipseコンパイラーはそこにある最高のオープンソースコマンドラインJavaコンパイラーですが、デフォルトではJava6用にコンパイルされていないようです。

「javac-help」を試して、使用できるオプションを確認してください。これは、微調整が必​​要な単純な環境変数である可能性があります。

于 2009-06-19T21:09:24.473 に答える
1

$PATH 変数を確認してください。「java」実行可能ファイルがある場所にあり、「javac」が別の場所にあるようです。

コマンドラインで「where」または「which」コマンドを試してください。これにより、シェル/OSがこれらの各実行可能ファイルをどこに配置しているかがわかります。

which java
which javac
于 2009-03-25T04:02:08.823 に答える