Saya mencoba menggunakan java.lang.function.Function
dalam kode java 8 basis saya, tetapi saya terus mendapatkan kesalahan berikut di Intellij.
Penggunaan API yang didokumentasikan sebagai @ sejak 1.6+ Pemeriksaan ini menemukan semua penggunaan metode yang memiliki tag @ sejak dalam dokumentasi mereka. Ini mungkin berguna ketika pengembangan dilakukan di bawah versi SDK yang lebih baru sebagai platform target untuk produksi
Saya sepertinya memiliki pengaturan Project dan Compiler yang benar
Pengaturan Proyek: (File -> Struktur Proyek)
Project Settings -> Project -> Project SDK = Java 1.8
Project Settings -> Project -> Project Language Level = 8 - Lambdas, Type Annotations etc
Pengaturan Kompiler: (File -> Pengaturan)
Build, Execution, Deployment -> Compiler -> Java Compiler -> Project Bytecode Version : 1.8
Build, Execution, Deployment -> Compiler -> Java Compiler -> Per module Bytecode Version -> Target Bytecode Version : 1.8
Apa masalahnya?
sumber
Project default
tingkat bahasa (padaSources
tab).Project Settings
ditemukan diFile -> Project Structure
Jika Anda menggunakan maven maka Tambahkan baris di bawah ini dalam file pom.xml konfigurasi Anda dan kemudian masukkan kembali atau bangun dari maven.
Lain pilih compiler java dan Level Language dari bawah jalan.
File> Struktur Proyek> Pengaturan Proyek> Modul> nama Modul Anda> Sumber> Tingkat Bahasa> pilih yang Anda butuhkan.
Ubah tingkat Bahasa dari sini: -
sumber
Sebenarnya, jika Anda menggunakan Maven dan
pom.xml
properti proyek Anda dikonfigurasi dengan benarAnda dapat mengimpor kembali parameter Maven ke
intellij-idea
proyek - klik kanan pada entri root proyek, laluMaven -> Reimport
yang di bagian bawah.sumber
Saya baru saja memperbaikinya sebagai berikut:
Klik kanan proyek -> Buka Pengaturan Modul -> Modul -> Sumber -> 8 atau lebih tinggi
Lalu
Jika masih menemukan kesalahan dan menggunakan maven , Anda harus menambahkan konfigurasi build di
pom.xml
:sumber
File> Pengaturan> Bangun, Eksekusi, Deployment> Java Compiler
Ubah versi bytecode Target menjadi 1,8 dari modul tempat Anda bekerja.
Jika Anda menggunakan Maven
Tambahkan plugin kompiler ke pom.xml di bawah simpul proyek tingkat atas:
sumber
Jika Anda menggunakan Gradle, jangan lupa untuk memastikan yang berikut ini diatur ke 1,8 dan bukan 1,5 (misalnya untuk beberapa alasan aneh di Intelij defaultnya ke 1,5) jadi apa pun yang Anda lakukan di tingkat proyek untuk mengatur kompilator tingkat kompatibilitas, pengaturan ini akan menyebabkannya terus memberi Anda masalah dengan fitur Java 8 yang tidak akan dikenali:
sumber
Mungkin konfigurasi repositori Anda memiliki properti include Versi kompiler. periksa
settings.xml
file.sumber
Ada satu tempat lain yang mungkin menyebabkan masalah ini, terlepas dari apakah Anda menggunakan Maven atau Gradle atau tidak.
Dalam
Settings | Editor | Inspections | Java language level migration aids | Usages of API which isn't available at the configured language level
, default (saya percaya) diatur keRespecting to project language level settings
, tetapi dapat diatur keHigher than:
, yang mengabaikan pengaturan proyek.Berarti bahwa jika Anda mengikuti instruksi di jawaban lain dan mengatur tingkat bahasa proyek Anda menjadi, katakanlah, 8, tetapi inspeksi diatur ke
Higher than: 7
, IDEA masih akan melempar kecocokan.sumber