Je tente d’utiliser l’instruction “try-catch with resources” de JDK 7; IntelliJ met en évidence ma ligne de ressources, en disant
Les essais avec ressources ne sont pas pris en charge à ce niveau de langue.
Quand j’essaie de comstackr, j’obtiens:
java: try-with-resources n’est pas pris en charge dans -source 1.6 (utilisez -source 7 ou plus pour activer try-with-resources)
- Comment passer à la prochaine étape dans IntelliJ?
- Quelle annotation Java @NonNull à utiliser
- Existe-t-il un plugin IntelliJ Keymapping pour Eclipse?
- Comment utiliser Scala dans IntelliJ IDEA (ou: pourquoi est-il si difficile d’obtenir un IDE fonctionnel pour Scala)?
- Comment changer le comportement de l’éditeur dans une idée intellij
J’ai vérifié que try-with-resources est activé pour mon projet actuel et que mon projet utilise JDK 7 (Bibliothèque: C: \ Program Files \ Java \ jdk1.7.0_11). Des idées? Je ne peux pas savoir quelle option changer (si c’est même le problème).
Cliquez sur le menu Fichier, ouvrez Structure du projet, puis sous “Paramètres”, il devrait y avoir “Projet”. Dans cet onglet, il y aura une option Paramètres SDK qui spécifie la version de langue que vous souhaitez utiliser.
Consultez la page d’aide JetBrains pour plus de détails (“Niveau de langue du projet”).
La seule façon dont cette erreur se produira est si le niveau de langue de votre module n’est pas défini sur 1.7+. Cela doit être défini dans vos parameters de projet / module IntelliJ, le fichier pom.xml
du projet ou les deux.
IntelliJ
Maven
1.7 1.7
Les parameters du module peuvent remplacer les parameters du projet; Si vous définissez cela au niveau du projet et que vous rencontrez un problème spécifique dans un module, vérifiez également les parameters du module.
Vérifiez également votre code. Vous avez peut-être accidentellement fait quelque chose comme ceci:
try (HttpClients.createMinimal().execute(new HttpGet(Ssortingng.format( "http://127.0.0.1:%s/extra/LifecycleServlet?action=shutdown", runningPort)))) {
au lieu de
try (CloseableHttpResponse response = HttpClients.createMinimal().execute(new HttpGet(Ssortingng.format( "http://127.0.0.1:%s/extra/LifecycleServlet?action=shutdown", runningPort)))) {
erreur facile à faire lorsque vous n’utilisez pas le résultat de votre ressource pouvant être fermée. pourtant, il aura cette erreur trompeuse.
Outre les instructions mentionnées, je devais également spécifier le niveau de langue par module. Fichier -> Structure du projet -> Modules
Représentation graphique des parameters du module.