web-dev-qa-db-fra.com

Option non reconnue: - Impossible de créer la machine virtuelle Java.

J'essaie d'exécuter mon fichier .jar sur un serveur linux.

Ce sont les commandes im en cours d'exécution

Java_HOME=/app/local/opt/jdk/packages/jdk1.6.0_30/ 
export PATH=$Java_HOME/bin:$PATH 

cd folder
Nohup Java -jar program.jar &

Vendredi, cela fonctionnait parfaitement. Cependant, aujourd'hui je reçois

  Unrecognised option: - Could not create the Java virtual machine.

Dans mon Nohup.out

Si je lance Java -v après avoir défini le chemin, je rencontre le même problème. Quelqu'un peut-il suggérer quelque chose? vraiment confus à ce sujet. 

Merci pour toute aide à ce sujet. 

7
Programatt

Habituellement, lorsque nous obtenons ce type d’exception ("Option non reconnue" qui provoque le "Impossible de créer la machine virtuelle Java"), la machine virtuelle affiche l’option non reconnue, comme ceci:

Unrecognised option: -[option details] Could not create the Java virtual machine.

le fait que vous n'ayez pas de détails donne l'impression que vous avez juste un espace ("") dans votre commande.

Jetez à nouveau un coup d'œil pour vous en assurer.

7
orirab

Tout d'abord, il n'y a pas d'option -v dans la commande Java.

(Référence: http://docs.Oracle.com/javase/6/docs/technotes/tools/windows/Java.html ... Java 6 version ... car c’est ce que vous utilisez. Essayez Java -help pour la liste d’options.)

Donc, on s'attend à ce que Java -v échoue.

En guise d’expérience, j’ai essayé ceci (avec un JDK OpenJDK Java 8 sur Fedora 22):

$ Java -foop
Unrecognized option: -foop
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
$ 

Comme vous pouvez le constater, le message "Option non reconnue" m'indique quelle option il ne comprend pas. En regardant le message dans votre question, nous voyons qu'il dit que c'est "-". Cela ne semble pas correspondre à la ligne de commande de votre question, mais par contre, la ligne de commande de votre question ne contient aucune option non valide.

Une autre possibilité, je suppose, est que vous ayez un alias Shell appelé Java. Cela aurait priorité sur toutes les commandes du chemin de commande du shell.

L'autre chose est que vous utilisez une version ancienne de Java. Java 6 est en fin de vie et la dernière version publiée est la mise à jour 45. Vous exécutez la mise à jour 30 publiée en décembre 2011. Il y a eu BEAUCOUP de correctifs de sécurité depuis. Je vous recommande de passer à Java 8 ... et de vous assurer de le garder à jour.

1
Stephen C

J'ai eu cet échec lors de l'exécution de maven sur Win10 où le fichier pom.xml est situé dans un dossier nommé C:\dir\OneDrive - bar\workspace\project.

Déplacer le projet dans un autre dossier l'a résolu.

0
ngong