標準のMac JDK6でBGGAクロージャープロトタイプを使用するにはどうすればよいですか?
質問
既存のJDK 6(Mac OS Xの標準)で 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);
}
次のことを試しましたが、動作しません:
- closures.jarを/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/libにコピーしました
- -Xbootclasspath / a:/path/to/closures.jarでjavacを実行しました
- -J-Xbootclasspath / a:/path/to/closures.jarでjavacを実行しました
- Eclipse ganymedeで、独自のシステムライブラリを定義し、BGGAを使用するコードでプロジェクトにアタッチすることで試してみました。
4つのケースすべてで、コンパイラがブートストラップクラスパスでclosures.jarを選択しなかったことを示すコンパイルエラーが発生します。私は本当にこれを日食、または少なくともMavenから動作させたいと思っています。ありがとう!
解決
TARファイルの配布には、「-source 7」を含む完全なコマンドラインを持つ修正されたjavac.batが含まれています。
他のヒント
代わりに-J-Xbootclasspathを指定してjavacを試しましたか?これは、VM自体に-X引数を渡すために使用されます。これは、これほど低レベルの変更に必要な場合があります。
しかし、これがEclipseで機能するかどうかは非常に疑わしいです。システムライブラリは、言語の変更ではなくAPI用です。 Eclipseコンパイラにパッチを適用する必要があります。
所属していません StackOverflow