web-dev-qa-db-fra.com

"Impossible de trouver la classe principale. Le programme va se terminer"

J'essaie d'exécuter SQuirreL SQL.
Je l'ai téléchargé et installé, mais lorsque j'essaye de l'exécuter, je reçois ce message d'erreur:

Lanceur de machine virtuelle Java.
N'a pas pu trouver la classe principale.
Le programme se termine.

Je comprends l'essentiel de cela, mais je ne sais pas comment y remédier. De l'aide?

plus d'informations:

  • Je suis sous Windows XP pro.
  • J'ai Java 1.6 installé et d'autres applications fonctionnent correctement.
  • L'installation s'est bien déroulée.
  • Je pense avoir suivi correctement les instructions d'installation.
  • Pour l'exécuter, j'appelle le fichier squirrel-sql.bat .

Mise à jour

Cette question: "Impossible de trouver la classe principale: XX. Le programme va se terminer." donne quelques informations sur cette erreur du point de vue d'un développeur Java Java.

18
AJ.

Java est-il installé sur votre ordinateur? Le chemin vers son répertoire bin est-il correctement défini (en d'autres termes, si vous tapez "Java" à partir de la ligne de commande, obtenez-vous une liste d'instructions ou obtenir quelque chose comme "Java n'est pas reconnu comme un .....")?

Vous pouvez essayer d'exécuter squirrel-sql.jar depuis la ligne de commande (depuis le répertoire sql d'écureuil), en utilisant:

Java -jar squirrel-sql.jar
18
MB.

Le chemin de classe est le chemin que le système suivra lors de la recherche des classes que vous essayez d'exécuter. Dans le fichier batch que vous essayez d'exécuter, il a probablement une variable comme CLASSPATH = blah; blah; etc ou une commande Java qui ressemble à

Java -classpath "c:\directory\lib\squirrel-sql.jar" com.some.squirrel.package.file

Si vous pouvez trouver ou ajouter ce paramètre de chemin de classe, assurez-vous qu'il inclut un chemin vers squirrel-sql.jar et tout autre fichier jar dont il peut dépendre, séparé par des points-virgules (ou le répertoire racine/lib qui peut être inclus avec le installation).

Fondamentalement, il vous suffit de dire Java où trouver les fichiers de classe que vous essayez d'exécuter. Wikipedia a une discussion plus approfondie sur le chemin de classe et peut vous offrir plus d'informations. http : //en.wikipedia.org/wiki/Classpath_ (Java)

7
18Rabbit
  1. La variable Java_HOME doit être définie pour pointer vers les fichiers prog/Java/version ???/bin
  2. ouvrez le fichier squirrel-sql.bat avec un éditeur de texte et voyez si la variable Java_HOME est la même que celle de votre variable d'environnement
  3. changez-le s'il ne correspond pas .... et réexécutez le fichier bat
3
tropikalista

Avez-vous suivi ces instructions:

http://www.squirrelsql.org/#installation

Si oui, exécutez-vous le fichier de commandes ou le script Shell pour l'exécuter?

2
tim_yates

Ajuster la réponse de MB pour Windows, supprimera la fenêtre de la console:

start javaw -jar squirrel-sql.jar
2
Nathan Feger

Le fichier .bat ne semble pas fonctionner.

Double-cliquez simplement sur:

squirrel-sql.jar

ou tapez:

Java -jar squirrel-sql.jar

dans la ligne de commande.

1
huug

Vous pouvez placer.; dans classpath dans les variables environnementales pour surmonter ce problème.

1
Sohail Anwar

J'ai essayé de démarrer SQUirrel 3.1 mais j'ai reçu un message indiquant "Impossible de trouver la classe principale Files\Rational\ClearQuest\cqjni.jar" J'ai remarqué que C:\Program Files\Rational\ClearQuest\cqjni.jar se trouve dans mon chemin de classe existant tel que défini par la variable d'environnement Windows, CLASSPATH.

SQUirrel n'a pas besoin de mon chemin de classe existant, j'ai donc mis à jour le fichier bat SQUirrel, squirrel-sql.bat.

REM SET SQUIRREL_CP =% TMP_CP%;% CLASSPATH%

SET SQUIRREL_CP =% TMP_CP%

Il n'ajoute plus mon chemin de classe existant à son chemin de classe et fonctionne correctement.

1
Patrick

J'ai eu ce problème lorsque j'ai "mis à niveau" vers Windows 7, qui est en 64 bits. Je vais à Java JRE est une JVM 64 bits. J'avais un JRE 32 bits sur ma machine pour mon navigateur, j'ai donc mis en place une variable système:

JRE32=C:\Program Files\Java\jre7

Quand je cours:

"%JRE32\bin\Java" -version

Je reçois:

Java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode, sharing)

C'est une JVM 32 bits. Sinon, cela signifierait "Java HotSpot (TM) 64-Bit".

J'ai édité le fichier "squirrel-sql.bat", REMarquant la ligne 4 et ajoutant la ligne 5 comme suit:

(4) rem set "IZPACK_Java=%Java_HOME%"
(5) set IZPACK_Java=%JRE32%

Et maintenant, tout fonctionne, bien et dandy.

1
Steve Gelman