Erro ao rodar aplicativo Java

Bom dia amigos,

Estou tentando rodar um aplicativo da Mastercard , via prompt do DOS, feito em java no servidor e retorna o seguinte erro:

Unable to start the application. The Microsoft virtual machine cannot be found.

Ja intalei o JDK e o JVM no servidor e o erro ainda continua.

Alguem pode me ajudar a solucionar este problema?

Obrigado,

Ricardo

Ricardo,

Qual é o sistema operacional e a versão de Java instalados?
Pode mandar uma cópia da mensagem que aparece na tela com o comando digitado?

[]s Leandro

O sistema operacional é Windows 2003, a versão do java é a 1.5.0 (build 1.5.0_10-b03) a JVM não sei onde vejo a versão. Segue erro:

C:\Documents and Settings\ricardo.miguel\Desktop>codver.exe 1 1.00 200.123.456.789
Unable to start the application. The Microsoft virtual machine cannot be found.

Classe não registrada

C:\Documents and Settings\ricardo.miguel\Desktop>

Obrigado desde já,

Ricardo

Olá,

se o aplicativo for java mesmo, antes de rodar pelo prompt vc deve realizar algumas configurações para que isso seja possível. Aqui no guj tem um artigo que explica como fazer isso. Mas no seu caso, o que parece que está acontecendo é que essa aplicação usa a VM da Microsoft, que nem existe mais.

:wink:

Interessante,

Veja o diretório que está instalado o Java 1.5, depois digite os comandos abaixo antes de executar o seu programa:

No meu caso estou com Java instalado em:
"C:\Arquivos de programas\Java\jdk1.5.0_06"

C:\Documents and Settings\ricardo.miguel\Desktop&gtset JAVA_HOME=C:\Arquivos de programas\Java\jdk1.5.0_06

C:\Documents and Settings\ricardo.miguel\Desktop&gtset PATH=%JAVA_HOME%\bin;%PATH%

C:\Documents and Settings\ricardo.miguel\Desktop&gtset CLASSPATH=.

C:\Documents and Settings\ricardo.miguel\Desktop&gtcodver.exe 1 1.00 200.123.456.789

O tal aplicativo da MasterCard, pelo visto, requer que a máquina virtual da Microsoft esteja instalada. Desde o Windows XP (não a versão gold, mas as posteriores) que a Microsoft não manda mais essa máquina virtual com seus produtos.
Veja se alguém tem isso para baixar, já que a Microsoft não disponibiliza mais esse arquivo (msjavx86.exe se não me engano) diretamente no site, mas apenas via Windows Update e apenas se a MSJVM já estiver instalada.

Sim amigo o aplicativo da Mastercard utiliza a MSJVM mesmo, mas já consegui este arquivo e instalei ele no servidor, mesmo assim ainda continua dando o erro …

Acho que o pessoal do suporte da Mastercard poderia lhe ajudar (embora seja um pouco difícil por causa dos feriados :frowning: )

Quem é que manda eles fazerem um programa .EXE em Java que depende de uma coisa que a Microsoft não suporta mais (a MSJVM)?

Se não me engano, a mensagem indica que você tem de registrar alguma coisa - isso quer dizer que você precisa rodar um programa da Microsoft ( vjreg ? javareg ? setreg ? ) também. Esse tal programa deveria ter sido fornecido pela Mastercard (acho que o programa é javareg.)

ahahahhahahahahahahhaahah

Affff… MSJVM, ninguém merece. :lol:

Que coisa absurda é essa… como era mesmo o nome? J++? Credo!!! Um nome melhor para essa coisa seria MS Frankenstein Java!!!

ahahahahahhahahahahahah

:wink:

Reinstalei a MSJVM e o aplicativo está funcionado agora, mas somente pelo prompt do dos, se rodo ele na web dá o erro abaixo:

Unable to start the application. The Microsoft virtual machine cannot be found. Could not read key from registry.

O que pode ser agora??

estou chamando ele pelo asp utilizando o Server.CreateObject(“WScript.Shell”)

Obrigado!

Que lindo - o que ocorre é que quando foi reinstalada a MSJVM (não sei como é que você fez isso), alguma entrada no registry que indica onde está a msjvm.dll para o jview.exe (ou para o programa compilado da Mastercard) está com alguma permissão que não permite sua leitura pelo usuário que inicia uma aplicação Web (o nome do usuário é IUSR_alguma coisa? não sei mais o que é).

Acho que você teria de alterar essa permissão no Registry, mas convenhamos, acho que você precisa pagar alguém que conheça essas coisas malucas de Windows.

E boas festas, mais uma vez!