2016-04-27 10 views
1

背景JDK v1.8.0_92インストール

とNetBeans v8.0.2複数のプラットフォーム、一つのJDKのインストール

問題

プロジェクトは、ここに見られるように、Javaプラットフォーム1.7が必要です。

NetBeans Project Properties

質問

それはJDK 1.8を使用して、ターゲットプラットフォームとして1.7を設定することは可能ですか?もしそうなら、どうですか?ここに見られるように

追加の詳細

追加のコンパイラオプション経由)ターゲットのビルドを設定するには、ターゲットプラットフォームには影響を与えません。

NetBeans Target Build

私は下ですJDK 1.8(PMDに必要)とJDK 1.7(プロジェクトに必要)の両方をインストールする必要があるという印象です。

理想的には、同じマシンに複数のJDKをインストールしないようにしたいと考えています。 1.7プラットフォームの機能が1.8で削除されている可能性があるため、これは不可能と思われます(推奨されないメソッドなど)。

答えて

2

同じコンピュータに複数のJDKをインストールできるだけでなく、状況に応じてほとんどの開発者がやっていることです。パス上の複数のJDK(とJAVA_HOME)が同時に存在することに注意してください(そして、パス上のJDKはJAVA_HOME内のJDKと一致するはずですが、%JAVA_HOME%\ binをパスenv VAR)1.7プラットフォームで

機能は1.8

のJDKで削除されている可能性があります悪名高い後方互換性があります。そこにはJava 1から残っているものがあり、おそらく削除されることはありません(いくつかのJava開発者を犠牲にして、私は含まれています)。 Thread.stop()、いくつかのクラスではserialVersionUidの奇妙な値、java 4互換性のためのジェネリックのサポートの不完全さ、元のContainerクラスとAWTの継続した存在など、いくつかの一般的な(厄介な)例があります。

実際には、スクリーンショットのように、JDK 8をインストールして使用し、Java 7をターゲットにすることが大きな問題になります(-targetを指定します)。ここでのリスクは、あなたが誤ってインポートするもので、Java 8の新機能です.jdk8は、実行時に使用したクラス/メソッドを見つけられないjava7互換のバイトコードを喜んで生成します。

個人的には、Windows上では、ちょうどどこかのJDKをどこかに抽出して(たとえば、c:\ dev \ tools \ jdks)、必要に応じて異なるIDEプロジェクトを使用するように設定します。私は彼らが「インストールされている」のを好きではありません。

関連する問題