“Não foi possível encontrar a classe principal. O programa irá encerrar"

StackOverflow https://stackoverflow.com/questions/120662

  •  02-07-2019
  •  | 
  •  

Pergunta

Eu estou tentando executar SQuirreL SQL.
Eu baixei e instalei, mas quando eu tentar executá-lo eu recebo essa mensagem de erro:

Java Virtual Lançador máquina.
Não foi possível encontrar a classe principal.
O programa irá encerrar.

I começa a essência deste, mas eu não tenho idéia de como corrigi-lo. Qualquer ajuda?

Mais informações:

  • Eu estou no Windows XP Pro.
  • Eu tenho java 1.6 instalado, e outros aplicativos estão funcionando OK.
  • A instalação correu OK.
  • Eu acredito que eu tenho seguido as instruções de instalação corretamente.
  • Para executá-lo, eu estou invocando o esquilo-sql.bat arquivo.

Atualização

Esta questão: "Não foi possível encontrar a classe principal:. XX Programa vai sair. " dá algumas informações sobre este erro do ponto de vista de um desenvolvedor java.

Foi útil?

Solução

é o Java instalado no seu computador? É o caminho para o seu conjunto bin corretamente (em outras palavras, se você digitar 'java' a partir da linha de comando que você recebe de volta uma lista de instruções ou você obter algo como "java não é reconhecido como um ....." )?

Você poderia tentar tente executar squirrel-sql.jar a partir da linha de comando (do diretório esquilo sql), usando:

java -jar squirrel-sql.jar

Outras dicas

O classpath é o caminho que o sistema seguirá ao tentar encontrar as classes que você está tentando executar. No arquivo de lote que você está tentando executá-lo, provavelmente, tem uma variável como CLASSPATH = blah; blá, etc ou um comando java que se parece com

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

Se você puder encontrar ou adicionar essa configuração classpath, certifique-se que ele inclui um caminho para o esquilo-sql.jar e quaisquer outros arquivos jar que pode depender separados por ponto e vírgula (ou o diretório raiz / lib que pode ser incluído com a instalação).

Basicamente, você só precisa dizer java onde encontrar os arquivos de classe que você está tentando executar. Wikipedia tem uma discussão mais aprofundada sobre o classpath e pode oferecer-lhe mais discernimento. http://en.wikipedia.org/wiki/Classpath_(Java)

  1. JAVA_HOME variável deve ser definida, para apontar para os arquivos prog / java / versão ??? / bin
  2. Abrir arquivo esquilo-sql.bat com algum editor de texto e ver se a variável JAVA_HOME não é o mesmo que aquele em sua variável de ambiente
  3. alterá-lo se ele não corresponder .... e que bat execute novamente

você seguiu as instruções abaixo:

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

Se assim for, você está executando o arquivo de lote ou o shell script para executá-lo?

A resposta de Ajustes do Sistema MB para Windows, vai se livrar da janela do console:

start javaw -jar squirrel-sql.jar

O arquivo .bat não parece trabalho.

Basta clicar duas vezes em:

squirrel-sql.jar

ou digite:

java -jar squirrel-sql.jar

na linha de comando.

Você pode colocar.; no classpath em variáveis ??ambientais para superar este problema.

Eu tentei começar Esquilo 3.1 mas eu recebi uma mensagem informando "Não foi possível encontrar a classe principal Files \ Rational \ ClearQuest \ cqjni.jar" Notei que C: \ Program Files \ Rational \ ClearQuest \ cqjni.jar seja em meu classpath existente como definido pela variável de ambiente Windows, cLASSPATH.

Squirrel não precisa do meu classpath existente, então eu atualizou o arquivo bat esquilo, esquilo-sql.bat.

REM SET SQUIRREL_CP =% TMP_CP%;% CLASSPATH%

SET SQUIRREL_CP =% TMP_CP%

Já não acrescenta meu classpath existente ao seu classpath e funciona muito bem.

Eu tive esse problema quando eu "atualizado" para o Windows 7, que é de 64 bits. Ir para o meu Java JRE é um 64-bit JVM. Eu tinha um JRE de 32 bits na minha máquina para o meu navegador, então eu configurar uma variável de sistema:

JRE32=C:\Program Files\Java\jre7

Quando eu executo:

"%JRE32\bin\java" -version

eu recebo:

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)

O que é a 32-bit JVM. Ele diria "Java HotSpot (TM) 64-Bit " caso contrário.

Eu editei o arquivo "esquilo-sql.bat", observando a linha 4 e adicionando a linha 5 da seguinte forma:

(4) rem set "IZPACK_JAVA=%JAVA_HOME%"
(5) set IZPACK_JAVA=%JRE32%

E agora tudo funciona, fino e elegante.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top