Comment savoir la version de JDK à partir de l'intérieur du code Java
Comment savoir la version de JDK à partir de l'intérieur du code Java
pourquoi la récursivité tag?
OriginalL'auteur Muhammad Hewedy | 2011-01-09
Vous devez vous connecter pour publier un commentaire.
Je présume que tu veux dire juste la version de Java, dans ce cas, essayez ceci:
OriginalL'auteur Bart Kiers
En s'appuyant sur le java.chaîne de version pour autre chose que de montrer à un homme est fragile et se casse si en cours d'exécution sur une autre implémentation de Java.
La seulement de manière fiable par programmation est d'utiliser la réflexion pour soigneusement demander si une installation donnée est disponible, puis sélectionnez le code approprié en conséquence.
Je préfère le mettre dans l'autre sens. Quelle règle vous mettre en place pour l'analyse de la java.chaîne de version?
J'étais pas au courant de cette propriété. Je peux, cependant, de ne pas voir d'un rapide coup d'oeil dans le JLS qu'il est garanti pour être présents et contenant un nombre valide. Peut-être que vous savez où il l'a dit?
la question cruciale ici si c'est pour Hotspot basé sur la JVM uniquement. Je ne peux pas le dire immédiatement.
N'utilisez pas de
Float.valueOf
comme @JesseBarnum. Cela n'a pas pour moi parce que1.8>=1.8
retourné false pour moi, à cause des erreurs d'arrondi. Utilisation.compareTo("1.8")>=0
à la place.OriginalL'auteur Thorbjørn Ravn Andersen
Si vous avez besoin de connaître la version de bit(32 bits ou 64 bits) ainsi, et que vous exécutez une JVM hotSpot, vous pouvez essayer ce code:
System.getProperty("sun.arch.data.model")
Aucun titulaire qu'il va travailler pour d'autres Java implementaions plutôt que de hotSpot.
OriginalL'auteur ZhaoGang