Trouver absolu java.exe chemin d'accès par programme à partir du code java

Si j'ai un jar java ou fichier de classe qui est lancé par l'utilisateur (en supposant que java chemin d'accès est défini dans les variables d'environnement), alors comment puis-je partir au sein du code, chemin d'accès absolu java.exe/javaw.exe à partir de laquelle ce fichier est en cours de lancement.

Comme sur ubuntu, nous pouvons lancer: % which java et il montre le chemin.

Cependant sur windows, si je vérifie System.getenv() il peut arriver qu'il y a plusieurs chemin d'accès trouvé l'e.g pour l'ancienne ou la nouvelle version. Si, par la ligne de cmd, je lance java -version il ne montre pas le chemin.

Pouvez-vous me dire soit par pure java ou en ligne de commande sur windows comment est-il possible de trouver l'emplacement de javaw.exe?

Pourquoi avez-vous besoin de l'emplacement de l'exe? Voudriez-vous d'obtenir l'emplacement du pot à la place?
j'ai besoin des deux. Emplacement de pot peut être trouvé facilement. J'ai besoin d'installer mon application en tant que service windows, et pour cela j'ai besoin de l'abs chemin d'accès par défaut javaw.exe en Fait, il est là, en Chemin, mais je suis confus car il peut afficher plusieurs entrées de l'ancienne et la nouvelle version, vous demandez-vous comment pourrais-je maintenant que l'on est celui par défaut?

OriginalL'auteur Johnydep | 2012-01-25