2010-12-13 38 views
7

J'essaie de démarrer un service Windows en utilisant le démon Apache commons. Cela fonctionne sur Windows XP, mais j'essaye de l'exécuter sur Windows 7 x64. Il ne parvient pas à démarrer et j'obtiens l'erreur suivante dans les journaux:Apache commons daemon Erreur "Échec de création de Java"

[2010-12-13 17:21:19] [info] Commons Daemon procrun (1.0.3.0) a commencé [2010-12-13 17 : 21: 19] [info] Exécution du service 'NodeService' ... [2010-12-13 17:21:19] [info] Démarrage du service ... [2010-12-13 17:21:19] [erreur] Échec de la création de Java [2010-12-13 17:21:19] [erreur] ServiceStart a renvoyé 1 [2010-12-13 17:21:19] [info] Exécuter le service terminé. [2010-12-13 17:21:19] [info] Processus Commons Daemon terminé

J'ai défini JAVA_HOME et ajouté le conteneur java à PATH, juste pour être sûr. Je ne suis pas sûr pourquoi il ne démarre pas, ou si cela a à voir avec le système d'exploitation x64. Il a été conçu pour un système 32 bits à l'origine.

Répondre

2

Résolution du problème. La version 32 bits du JRE doit être installée car elle recherche les informations du registre. J'ai eu la version 64 bits.

9

Vous venez de rencontrer le même problème. Vous pouvez résoudre ce problème en changeant le chemin JVM pour pointer vers la version 64 bits car il utilise le x32 par défaut

  • Dans Windows, cliquez droit sur l'application à partir de la barre d'état système et sélectionnez Configurer

  • Cliquez sur l'onglet Java

  • Définir la machine virtuelle Java/ou utilisez le bouton de chemin de sélection:

    C: \ Program Files \ Java \ jdk1.7.0_21 \ jre \ bin \ server \ jvm.dll

+0

Quelle est la barre d'état système? – Edd

4

Vous pouvez télécharger les binaires commons-deamon-1.0.15-bin-windows et vous pouvez voir la hiérarchie des dossiers comme suit;

  • Liste item
  • amd64
  • ia64
  • prunsrv.exe
  • prunmgr.exe

Sur ma machine 64bit, je faisais face au même problème avec prunsrv.exe. Après quelques recherches (site web d'apache), la solution utilise la bonne version de prunsrv.exe sous amd64 pour les machines 64bit. L'utilisation d'amd64/prunsrv.exe a fonctionné pour moi.

1

Ce problème se produisait généralement lorsque nous utilisions jre 64 bits avec ApacheDS 32 bits. J'ai essayé la solution ci-dessous et cela a fonctionné pour moi.

  1. Installez jre-8u91-windows-i586.exe. Il sera installé sur C: \ Program Files (x86). Copier les fichiers msvcr100.dll et msvcr120.dll de C: \ Program Files (x86) \ Java \ jre1.8.0_91 \ bin vers C: \ Program Files (x86) \ apacheds-1.5.0 \ bin.
  2. Set JAVA_HOME et variables d'environnement PATH:

    JAVA_HOME - C: \ Program Files (x86) \ Java \ jre1.8.0_91

    PATH - C: \ Program Files (x86) \ Java \ jre1 .8.0_91 \ bin.

  3. Aller à Java onglet dans ApacheDS, par défaut désélectionner la case d'utilisation et définir JVM C: \ Program Files (x86) \ Java \ jre1.8.0_91 \ bin \ client \ jvm.dll

  4. Démarrez le service .