J'ai défini le JDK 11, il se compile jusqu'à ce que j'utilise la nouvelle méthode de Java 11 isBlank()
d'une chaîne lorsque j'utilise cette méthode cette erreur apparaît lors de la compilation, j'ai essayé de nettoyer les installations JDK, le nettoyage des caches d'IntelliJ, la reconstruction mais rien n'y fait. L'erreur est:
Essayez de définir la version du bytecode cible du compilateur sur 11.
Accédez à Settings
- Build, Execution, Deployment
- Compiler
- Java compiler
et définissez version du bytecode cible de votre module à 11
Vous devriez vérifier les choses suivantes:
Et si vous utilisez Maven, vérifiez que les propriétés "source" et "cible" de votre plugin de compilateur dans votre pom.xml
sont 11. Votre configuration de niveau de langue de module est importée de ce pom.xml
configuration dans un tel cas
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
ou
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
Dans le cas où votre pom.xml
le niveau source ou cible est incorrect, vous devrez peut-être le faire. Clic droit | Maven | Réimportez après avoir changé cela pom.xml
. Si vous utilisez Gradle, vous devez vérifier que vous avez une configuration similaire.
Testé avec Maven 3.5.4 dans IntelliJ IDEA 2018.2.4
Vous pouvez utiliser JDK 11 pour compiler mais si vous compilez avec une ancienne version de Java, il ne trouvera pas cette méthode.
Aller à File > Project Structure -> Project
et vérifiez le niveau de langue du projet comme indiqué par la flèche dans l'image ci-dessous:
Ne fonctionne pas avec le niveau de langue du projet 10:
Fonctionne bien avec le niveau de langue du projet 11:
Notez que j'ai les éléments suivants Java Paramètres du compilateur (paramètres par défaut pour un nouveau projet à l'aide d'IntelliJ 2018.3)): La version du bytecode du projet est identique au niveau de la langue!
J'avais un problème similaire. Got symbole introuvable pour une fonction Java 11. Bien que tout soit déjà réglé sur 11).
La solution était que dans mes paramètres Idea, la machine virtuelle Java Gradle était définie sur JDK 8. (car j'ai ajouté JDK 11 plus tard)
Comme sourceCompatibilty
et targetCompatibility
où ils n'étaient pas définis dans mon build.gradle, le démon gradle (démarré depuis Idea) était en cours d'exécution et se compilait avec JDK 8. Ces propriétés étaient définies dynamiquement sur 8 (ou 1,8).
Telling Idea pour définir JVM pour Gradle sur 11 était ma solution: