29 votes

Impossible de lancer l'application (erreur CreateProcess = 87), ne peut pas utiliser la solution de raccourcissement du chemin de classe

Quand j'ai le lancement de notre application dans Eclipse sous Windows j'ai l'erreur suivante:

Exception s'est produite l'exécution de la ligne de commande.

Ne peut pas exécuter le programme .. : CreateProcess erreur=87, Le paramètre est incorrect

J'ai résolu ce problème dans le passé par le raccourcissement de la CLASSPATH.

J'ai maintenant arrivés à un point où je n'ai plus de raccourcir le chemin de la classe, et voudrais savoir si il y a d'autres solutions.

http://support.microsoft.com/kb/830473 semble indiquer que le max d'invite de commande de la longueur de la ligne dans windows xp est de 8 191 caractères, et la seule solution est de raccourcir les noms de dossier, réduire la profondeur des arborescences de dossiers, à l'aide de fichiers de paramètres, etc.

16voto

VonC Points 414372

Cette eclipsecoding page de la FAQ n'confirmer votre diagnostic:

Lorsque l' CLASSPATH devient trop long, le programme ne peut être lancé (au moins sous Windows) - essayer de raccourcir votre classpath. Dans le cas d'un plugin, vous pouvez essayer de supprimer les plugins nécessaires.

Et vous avez ici un thread détaillant le journal des erreurs.

Puisque vous pouvez lancer Eclipse, mais pas l'application, je voudrais vérifier si vous n'avez pas trop de plugins inclus dans votre configuration de lancement. Pourriez-vous vérifier si vous avez ajouté que les plugins nécessaires?

12voto

Nick Points 133

Comme solution de contournement:

  1. Ouvrez votre configuration d'exécution éclipse pour la tâche qui échoue.
  2. Choisissez l'onglet classpath, sélectionnez le classpath par défaut, cliquez sur le bouton "Modifier .."
  3. Cochez la case "Inclure uniquement les entrées exportées".

Cela m'a permis de contourner ce problème sur Eclipse 3.6 (Helios)

2voto

Moe Points 21

C'est certainement un problème avec le chemin est trop long causant la ligne de commande pour dépasser la limite maximum. pour résoudre, de raccourcir votre classpath. Si vous utilisez Maven (comme je l'ai été par exemple, en Jive développement ), puis de modifier l'emplacement de votre .m2 en changeant le maven settings.xml

<settings>
  <localRepository>c:/.m2/repository</localRepository>
</settings>

et puis déplacez votre dépôt à partir du répertoire de l'utilisateur, mais de s'assurer que le settings.xml et settings-security.xml (le cas échéant) sont toujours dans le répertoire de l'Utilisateur. De cette façon, le chemin de classe ne s'affiche plus c:\Documents and Settings\nom d'utilisateur.m2 et plus de plus de mais plutôt c:.m2 permettant une diminution significative dans le classpath et donc la longueur de la commande. Rappelez-vous que dans windows, vous ne pouvez pas créer un répertoire (par vous-même) avec le nom .m2, et de sorte que vous avez à couper le répertoire, collez-le dans c: puis de le copier dans votre dossier utilisateur

1voto

Mauro Monti Points 127

J'avais le même problème sur Eclipse, donc, pour cette raison j'ai décidé de faire un essai pour le même projet sur Intellij, juste pour savoir si c'était une IDE problème.

Étonnamment, Intellij détecte ce problème (sur le long chemin de classe) et me montre une boîte de dialogue, recommandant de me servir de dynamique classpath fonctionnalité. Après activez cette option, le problème à disparu.

Ce dynamique.classpath drapeau n'est: Quelle est la dynamique.classpath drapeau de faire? (IntelliJ paramètres du projet)

Donc, maintenant, ma question est: Est-il un moyen de faire la même chose sur Eclipse? semble être une solution simple et élégante à ces problèmes, au lieu de supprimer manuellement toutes ces dépendances qui ne sont pas nécessaires.

1voto

Imre Szikora Points 11

Utilisez un lien dynamique qui peut être facilement créé avec juncion (http://technet.microsoft.com/en-us/sysinternals/bb896768). Créez le lien pour votre projet et ajoutez-le à l'éclipse grâce à cela. par exemple: md d: \ shortname junction d: \ shortname \ d: \ my \ very \ long \ long \ long \ long \ long \ long \ projectnamefolder

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X