2

既存の JDK 6 (Mac OS X Leopard の標準) でBGGA クロージャ プロトタイプを使用しようとしています。私がコンパイルしているサンプル コードは、BGGA チュートリアルからのものです。

public static void main(String[] args) {
  // function with no arguments; return value is always 42
  int answer = { => 42 }.invoke();
  System.out.println(answer);
}

私は次のことを試しましたが、どれもうまくいきません:

  1. closures.jar を /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/lib にコピーしました
  2. -Xbootclasspath/a:/path/to/closures.jar を指定して javac を実行しました
  3. -J-Xbootclasspath/a:/path/to/closures.jar で javac を実行しました
  4. 独自のシステム ライブラリを定義し、それを BGGA を利用したコードでプロジェクトにアタッチすることで、eclipse ganymede から試しました。

4 つのケースすべてで、コンパイル エラーが発生します。これは、コンパイラがブートストラップ クラスパスの Closures.jar を取得しなかったことを示しています。これをEclipseから、または少なくともMavenから機能させたいと思っています。ありがとう!

4

2 に答える 2

1

TAR ファイルの配布には、「-source 7」を含む完全なコマンド ラインを含む修正された javac.bat が含まれています。

于 2008-10-05T19:47:26.153 に答える
0

代わりに -J-Xbootclasspath を指定して javac を試しましたか? これは、VM 自体に -X 引数を渡すために使用されます。これは、このような低レベルの変更に必要になる場合があります。

ただし、これがEclipseで機能するかどうかは非常に疑わしいです。システム ライブラリは API 用であり、言語の変更用ではありません。Eclipse コンパイラーにパッチを当てる必要があります。

于 2008-10-05T18:36:57.933 に答える