Maison >Java >javaDidacticiel >Erreur Java : erreur de nouvelle option de sécurité Java11, comment gérer et éviter

Erreur Java : erreur de nouvelle option de sécurité Java11, comment gérer et éviter

WBOY
WBOYoriginal
2023-06-25 09:54:351528parcourir

Java est un langage de programmation largement utilisé pour développer des applications. Avec l'introduction de Java 11, de nouvelles options de sécurité ont été introduites. Cependant, ces nouvelles options peuvent également poser certains problèmes. Cet article abordera les nouvelles erreurs d'options de sécurité dans Java11 et comment les gérer et les éviter.

Nouvelles options de sécurité

Les nouvelles options de sécurité de Java11 concernent principalement les trois aspects suivants :

  1. Chargeur de classe d'application

Java11 introduit un nouveau chargeur de classe d'application et introduit de nouvelles options pour contrôler le comportement du chargeur de classe d'application . Ces options incluent principalement :

  • L'option Xshare:off est utilisée pour désactiver la fonction de mise en cache des classes partagées. L'option
  • --class-path est utilisée pour spécifier le chemin de classe que l'application doit charger. L'option
  • --module-path est utilisée pour spécifier le chemin du module que l'application doit charger.
  1. Désactiver les algorithmes par défaut

Certains algorithmes de chiffrement non sécurisés, tels que SHA-1 et MD5, sont désactivés par défaut dans Java11. Afin d'activer ces algorithmes, des options spéciales sont requises. Ces options incluent :

  • --add-exports java.base/jdk.internal.crypto=L'option ALL-UNNAMED est utilisée pour exposer la fonctionnalité cryptographique à des modules sans nom. L'option
  • --add-opens java.base/java.security=ALL-UNNAMED est utilisée pour ouvrir le répertoire de sécurité Java aux modules sans nom.
  1. Limites du compilateur

Java11 introduit également de nouvelles limitations du compilateur. Ces restrictions s'appliquent principalement aux situations suivantes :

  • L'accès aux cours du forfait sun.misc est interdit.
  • Certaines API Java SE sont interdites.
  • L'utilisation d'API non divulguées est interdite.

Erreur de nouvelle option de sécurité Java11

Lors de la mise à niveau vers Java11, les développeurs d'applications peuvent rencontrer les erreurs suivantes :

  1. exception java.lang.IllegalAccessException

Accès à la classe sun.misc.Unsafe via la réflexion, un java.lang Une exception .IllegalAccessException peut se produire. En effet, Java11 n'autorise plus l'accès aux classes du package sun.misc.

Solution : remplacez la classe Unsafe par une méthode sûre. Par exemple, utilisez java.nio.Bits ou java.lang.invoke.VarHandle.

  1. Exception java.lang.NoClassDefFoundError

L'exception java.lang.NoClassDefFoundError peut se produire lorsqu'une application charge une classe à l'aide du chargeur de classe d'application. Cela est généralement dû à l'activation de l'option -Xshare:off, qui désactive la mise en cache des classes partagées.

Solution : activez la fonctionnalité de mise en cache des classes partagées à l'aide de l'option de ligne de commande suivante :

java -Xshare:auto -jar app.jar

  1. Erreur de compilation

Lorsqu'une application tente d'utiliser l'API Java SE ou un API, vous pouvez rencontrer des erreurs de compilation.

Solution : utilisez des API alternatives de la bibliothèque standard Java ou implémentez la fonctionnalité vous-même. Dans le même temps, évitez d’utiliser des API non autorisées.

Éviter l'erreur de la nouvelle option de sécurité Java11

En plus des solutions ci-dessus, certaines méthodes ci-dessous peuvent aider à éviter l'erreur de la nouvelle option de sécurité Java11 :

  1. Mettre à niveau l'application

Mettez à niveau l'application autant que possible pour l'adapter. à la nouvelle sécurité des options Java11. Si une application utilise une API obsolète, elle rencontrera davantage de problèmes.

  1. Comprenez les nouvelles options de sécurité

Comprenez les nouvelles options de sécurité de Java11 et apprenez à les utiliser correctement.

  1. Utilisez de nouvelles options

Utilisez les nouvelles options de Java 11 pour contrôler le comportement des applications et des chargeurs de classes.

  1. Testez l'application

Testez l'application pour vous assurer qu'elle fonctionne dans le nouvel environnement Java11 et gère correctement les nouvelles options de sécurité.

Conclusion

Les nouvelles options de sécurité de Java11 peuvent rendre les applications Java plus sécurisées. Cependant, ces options peuvent également poser certains problèmes. Comprendre et utiliser correctement ces options, ainsi que tester votre application, peut aider à éviter ces problèmes. Si des problèmes sont rencontrés, nous devons prendre des mesures en temps opportun pour les résoudre afin de garantir le bon fonctionnement de l'application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn