javac:無効なターゲットリリース:1.8


87

最近、NetBeansにバンドルされているJDK 1.8.0.0_06をダウンロードしました。次に、Java 1.7で開発していた私のJavaFxプロジェクトはJava 1.8でコンパイルできないので、JDKを1.7に下げました。それでも私はそれを動作させる/コンパイルすることができません。私はこのエラーを受け取ります:

javac: invalid target release: 1.8
Usage: javac <options> <source files>

私は本当に行き詰まっています。どんな助けにも感謝します。


1
ステップダウンする場合は、プロジェクトのソースも1.7に変更し、右クリックしてProject -> Properties -> Sources window1.7をここに​​設定します
Jigar Joshi

あなたはライフセーバーです@Jigar Joshi !!!! もう一度ありがとう*****ミル。とても感謝しています。あなたの返答を答えにして、私がそれを受け入れることができるようにしてください。うわー!再びありがとう。長い間立ち往生していました!
Program-Me-Rev

プロジェクトがJava 1.8でコンパイルできない場合は、かなりひどい問題が発生している可能性があります(たとえば、他のクエリで投稿したコードにUIコンポーネントの静的フィールドがあり、これは重大な設計エラーです)。おそらく、多くのユーザーが将来のある時点でアップグレードするバージョンに戻すよりも、その問題を修正する方が良いでしょう。
James_D

あなたは正しい@James_Dです。これはJavaでの最初のプロジェクトです。私はプログラミングをほとんど独学で学び、今までは静的メンバー、インターフェース、およびポリモーフィズムについての残りの部分をすべて回避することはしていませんでした。私のプロジェクトは大きすぎて一度にすべてを編集することはできません。私はそれを編集して、他の残りの領域を仕上げながら、Spring経由の依存性注入に少しずつ移動する予定です。それは苦しいレッスンですが、よく学びました。
Program-Me-Rev

1
Javaバージョン1.8.0、1.8.0_05、および1.8.0_11がありますが、1.8.0.0_06などはありません。
デビッドコンラッド14

回答:


33

ステップダウンする場合は、プロジェクトのソースも1.7に変更します。

right click on your Project -> Properties -> Sources window 

そして1.7ここに設定

注:ただし、1.8で機能しない理由を理解することをお勧めします


66

IntelliJ14の場合、(グローバル設定で)使用しているJDKのバイトコードバージョンを変更する必要がある場合があります。

ここに画像の説明を入力してください



しかし、問題はネットビーンズについてでしたか?
Jolta、

27
  1. JDK 8をダウンロードします。
  2. JAVA_HOME新しくインストールされたJDK 1.8を指すように環境変数を編集します。[マイコンピュータ]を右クリックし、[プロパティ]-> [システムの詳細設定]-> [環境変数]を選択JAVA_HOMEして、値を次のように設定します。

    C:\Program Files\Java\jdk1.8.0_31
  3. 古いバージョンを見つけて、PATH変数でも編集します。

  4. おそらく、システムを再起動する必要があります。

行われるべきです。


23

Gradle(またはMaven)タスクの実行中にこのエラーが発生した場合は、次のルートに従って、Java JDK 1.8のインストールを指すようにビルドツールの構成を変更する必要があります。

ファイル->設定->ビルド、実行、デプロイメント->ビルドツール-> Gradle

そこで、リンクされたGradleプロジェクトが作業中のプロジェクトであることを確認し、Gradle JVMを選択します(gradleプロジェクトをIntelliJにインポートしたときにこれを逃しました)

ここに画像の説明を入力してください

ここでターゲットJVMを正しく設定するためにGradle(またはMaven)プロジェクトをインポートするときに注意してください。 ここに画像の説明を入力してください


14

javacが正しいjavaを指していない。

次のコマンドを使用して、javacが指している場所を確認します-

update-alternatives --config javac

コンパイルするjavacが指定されていない場合は、「/ JAVA8_HOME / bin / javac」、またはコンパイルするjavaを指定します。


なぜ-1、私は同じ問題を抱えていましたか、それは私のjavacが正しいJavaバージョンに設定されていなかったためですか?
Piyush Jajoo、2015年

javaとjavacが異なるディストリビューションから選択される方法で構成が壊れる可能性があることに注意してください。
Audrius Meskauskas

9

ほとんどの場合、これらのタイプの問題は、Javaバージョンが正しくないために発生します。PATHおよびJAVA_HOME変数が正しいバージョンを指していることを確認してください。


うん

4

Maven設定:

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

4

以前の解決策はどれも私にとってうまくいきませんでした。

.idea / compiler.xmlを編集して解決しましたターゲットが異なる不良モジュールの「余分な」(1)および(2)コピーがありました。不要なエントリを削除し、セクションのターゲットを1.8に変更しました。


これで修正されました。
davidmerrick

2

2017年12月18日現在のIntelliJ IDEA Ultimateの最新バージョンで、上記の提案が機能しない場合は、以下を試してください。プロジェクトを右クリックして、[Open Module Settings]に移動します。それを開き、ドロップダウンから「言語レベル」を変更します。


また、[依存関係]タブの[モジュール設定]で正しいモジュールSDKが選択されていることを確認します。
Rene Juuse 2017


1

ステップダウンする場合は、プロジェクトのソースも1.7に変更します。

プロジェクト->プロパティ->ソースウィンドウを右クリックし、ここに1.7を設定します "Jigar Joshi

また、に移動してbuild-impl.xmlプロパティを探し、excludeFromCopy="${copylibs.excludes}"このプロパティをコードの827行目で削除しましたが、他の行で見ました

私にとっては、MAC OS java 1.8からWIN XP java 1.7へのコードを取っていた


1

または、pom.xmlを確認して変更しました

<java.version>1.8</java.version>

<java.version>1.7</java.version>

グラシアス、これで簡単に修正できました。
Fabii

1

netbeansでも同じ問題が発生しましたが、cmdウィンドウではmvn buildで問題ありません。私にとって問題は、netbeansのJDK(netbeans.conf内)を変更した後で解決されました。

netbeans_jdkhome = "C:\ Program Files \ Java \ jdk1.8.0_91"


編集:ここで言及されているようです:netbeansバグ236364


1

IntelliJ IDEAコミュニティとMavenで同じ問題が発生し、[プロジェクト]タブでプロジェクトを右クリックしてプロジェクトを再インポートする必要がありました-> Maven->再インポート


0

IDEAコミュニティの新しいリリース(2017.xではなく2018.3)をインストールすると、同じエラーでJavaバージョン:11の問題が解決しました。再インポートはうまくいきませんでした。しかし、試してみる価値はあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.