利用可能な場合、Java 7 SDKのNIO2機能の一部(具体的にはファイルシステムウォッチャー)を使用することに興味がありますが、Java 7用にクラスをコンパイルして、Java6ランタイムを除外したくありません。主な理由は、Mac OS Xとの互換性を維持したいという理由と、ユーザーにアップグレードを強制したくないという理由です。
これは可能ですか?それを行うための最良の方法は何ですか?リンクや例はありますか?
これが私が想像できるいくつかの方法です:別のコンパイラでクラスファイルをコンパイルし、Javaバージョンに基づいて動的にロードしますか?または多分反射を使用していますか?それとも、Java6互換のクラスを生成するためのJava7のコンパイラ設定だけがあるのでしょうか。
私は醜い混乱にならない解決策を探しています:)ですから、理想的には、インターフェイスの2つの実装を記述できます。1つは新機能を使用し、もう1つは使用せず、反射呼び出しを行う代わりに動的に1つを選択します。あらゆる所に。