特定のバージョンのJavaでファイルがコンパイルされているかどうかをテストすることは可能ですか?コードをコンパイルできる最も古いjavaバージョンを見つけよう
私のマシンにjdk 1.8,1.7,1.6 .....があり、コードをコンパイルできる最も古いJavaバージョンを見つける必要があるとしましょう。
これは私が考えることができる唯一の方法は、ランタイムAPIを使用することです。これを行う方法はありますか?
特定のバージョンのJavaでファイルがコンパイルされているかどうかをテストすることは可能ですか?コードをコンパイルできる最も古いjavaバージョンを見つけよう
私のマシンにjdk 1.8,1.7,1.6 .....があり、コードをコンパイルできる最も古いJavaバージョンを見つける必要があるとしましょう。
これは私が考えることができる唯一の方法は、ランタイムAPIを使用することです。これを行う方法はありますか?
javac
バージョン1.8を使用して、さまざまな-source
オプションを試してみてください。
たとえば、javac -source 1.6 ...
は、1.7または1.8の特定の言語の詳細を絞り込む必要があります(しかし、新しいライブラリを使用することはありません)。
1.6ソースコードのセットが1.6ソースコードスタイルのみを使用することを検証するには、Mavenビルドをセットアップし、「動物スニファ」プラグインを使用する必要があります。これは、すべてのシステムライブラリ呼び出しが、1.6 JVMから取得したフィンガープリントと一致することを確認します(そのように設定した場合)。
他の手法もありますが、それぞれのrelaseに対してJDKをダウンロードすることをすでに示唆していますが、必要なすべてのJDKを見つけるのはちょっと混乱します。
まさに私が探していた解決策。 "Animal Sniffer"プラグインを指摘してくれてありがとう。 – Prithvi
私はあなたが本当にJavaで最も古いバージョンを気にするべきではないと思います。 – Aero
プロジェクトをビルドするバージョンを選択し、そのバージョンを使用してビルドする必要があります。 –