2009-07-20 6 views
16

J'ai remarqué que lorsque je démarre Netbeans, il apparaît dans le gestionnaire de tâches comme netbeans.exe car toutes mes propres applications Java apparaissent comme java.exe ou javaw.exe.Comment puis-je donner à mon application Java un nom de processus unique?

Comment puis-je changer cela pour que mes noms de processus apparaissent comme myapp.exe?

+0

j'ai posé une question similaire: http://stackoverflow.com/questions/1057247/how-can-i-set-the-process-name-for-a-java-program – Mnementh

Répondre

17

Le nom du processus est le nom de la machine virtuelle Java. Donc, si vous renommez le jvm, vous avez un autre nom de processus. Il y a des outils qui peuvent le faire pour vous. Par exemple Launch4J

5

Netbeans et Eclipse sont tous deux livrés avec un fichier .exe qui à son tour lance une machine virtuelle Java. L'exe lui-même ne fait probablement rien après le lancement de la VM. Vous voyez le NetBeans javaw.exe dans le Gestionnaire des tâches aussi, je suppose.

Vous aurez donc besoin d'écrire un exe natif (en utilisant un outil Windows) qui fait la même chose.

+0

Je crois que javaw.exe est également le lanceur Eclipse. –

7

Pas facilement. Le moyen le plus simple (mais pas sympa!) Serait de simplement copier le fichier java.exe (seulement 68k sur mon système, donc peut-être pratique!)

Si vous vous inquiétez d'identifier quel processus Java est (par exemple, un consommation de mémoire/CPU etc), utilisez l'outil standard jps pour identifier les processus Java

+0

Je l'ai fait avec le java.exe que j'utilise pour exécuter eclipse avec - alors je peux facilement voir si eclipse est en train de mâcher des ressources, ou mon programme. – RodeoClown

+0

Une copie du fichier java.exe. Mais comment changer le nom du processus? – Yster

+0

Peut-être copier java.exe à myjava.exe (pour les débutants ...) –

9

IMO la meilleure option est de choisir l'un des nombreux lanceurs open source. Ils fournissent tous un conteneur de déploiement plus agréable que java.exe et un fichier de commandes.

J'ai compilé une liste d'entre eux après une brève recherche sur Google (sans ordre particulier et ne peut pas être exhaustive):

(divulgation complète: je travaille sur winrun4j)

+0

winRun4j - est disponible en tant que plugin pour Eclipse et très facile à manipuler. Aussi essayé launch4j son bon, mais ne peut pas changer le nom de myApp.exe à travers elle.Bien merci pour la liste triée des lanceurs open source. –

+0

WunRun4J et JSmooth ne semblent plus être conservés –

0

Il existe principalement 2 approches: l'une est déjà décrite: en utilisant des outils comme Launch4j, WinRun4J pour créer des lanceurs Windows natifs.

Une autre approche qui semble la meilleure est d'utiliser Apache Procrun pour emballer l'application Java en tant que service Windows. Pendant le processus de service d'installation, nous pouvons donner au processus un nom significatif tel que OurApp.exe. Tout ce que nous devons faire est de renommer prunsrv.exe en OurApp.exe et remplacer chaque occurrence de prunsrv.exe dans nos scripts de service d'installation | start | stop | myApp.exe.

Voir plus de Using Apache Procrun to Rename Process Name of a Java Program in Windows

Questions connexes