Comment puis-je vérifier si un paquet comme Javax.Servlet. * Existe ou non dans mon installation de Java? P>
3 Réponses :
Java ne peut vous dire que si cela peut charger une classe. Il ne peut pas vous dire si un colis existe ou non parce que les colis ne sont pas chargés, seulement des cours.
Le seul moyen serait de charger une classe de ce paquet. E.G., pour Javax.Servlet. * Vous pouvez faire: P>
try { Class.forName("javax.servlet.Filter"); return true; } catch(Exception e) { return false; }
Vérifiez si le package est présent en tant que ressource: Vous pouvez également charger si une classe de ce paquet peut être chargée via class.forname (...) code >. p> p>
Notez que cela ne fonctionne pas pour JDK 9+, où les packages sont encapsulés dans des modules. Cependant, les classes ne sont pas encapsulées, les œuvres suivantes: GetClass (). GetClassloader (). GetResource ("Java / Lang / string.cl ass") code>
Si vous regardez dans l'API Docs pour l'installation que vous avez, cela vous indiquera tous les packages installés, par exemple: http://java.sun.com/j2se/1.5.0/docs/apli/
en code, vous pouvez faire quelque chose comme ceci: P >
Package foo = Package.getPackage("javax.servlet"); if(null != foo){ foo.toString(); }else{ System.out.println("Doesn't Exist"); }
Cela ne fonctionne que si une classe a été chargée à partir de ce paquet avant.
Cela ne fonctionnera que si une classe de ce paquet a été chargée par le chargeur de classe.
Wow, ne le savait pas. Merci les gars!
Easy Way: Importez le colis, utilisez-le, compiler.