O Java JRE foi corrompido após atualizar a pilha de aplicativos da web usando um MSI personalizado

1

Temos um aplicativo da Web Java instalado em um ambiente Windows. Usamos o Advanced Installer, um produto comercial, para construir o MSI. O instalador instala o Tomcat 7, Apache 2.0 e implementa nosso código de aplicativo.

Durante uma atualização, os arquivos do tomcat são atualizados e o serviço do tomcat é reinstalado. Recebemos uma nota dizendo que nem todos os arquivos podem ser instalados, portanto é necessário reiniciar após a instalação.

Se ignorarmos o aviso de reinicialização, tudo funcionará perfeitamente. Mas, quando o computador é reiniciado, o Java não funciona mais e o serviço Apache Tomcat Windows não é iniciado. Mesmo a execução de "java" ou "java -version" no diretório bin do JRE resulta no seguinte erro:

C: \ Arquivos de programas \ Java \ jre6 \ bin > java -version    Erro ocorrido durante a inicialização da VM    java / lang / NoClassDefFoundError: java / lang / Object

Nosso instalador não está modificando nenhum dos arquivos Java, apenas os arquivos tomcat instalados. Então, estou confuso sobre o que poderia estar causando o Java parar de funcionar.

O único trabalho conhecido é reinstalar completamente o Java e, em seguida, reiniciar o serviço do Tomcat. Alguém sabe o que faria com que o Java JRE fosse corrompido e só falhasse depois que o computador fosse reiniciado? Nós recriamos esse problema em sistemas operacionais de 32 e 64 bits, incluindo o Windows XP, o Windows Server 2003 e o Windows Server 2008 R2.

    
por gelgamil 08.08.2011 / 22:26

3 respostas

1

Seu instalador pode estar tentando sobrescrever os arquivos do JRE. Faça uma comparação entre as entradas de registro do JAVA e as configurações do caminho do sistema entre um bom sistema e um sistema corrompido. Meu palpite é que as entradas do registro foram sobrescritas.

    
por 08.08.2011 / 22:54
1

O post a seguir menciona a mesma coisa que aconteceu, que é que o Java Updater pode corromper o Java se tentar atualizar quando os serviços estiverem em execução usando Java:

Quebras de serviço do Windows com o JRE do Tomcat 7.0.22 atualizar

Gostaria de saber se você teve uma atualização Java após a instalação do Tomcat, o que causa esse problema.

    
por 08.03.2014 / 00:59
0

Você precisa fazer uma auditoria no seu instalador, examinar todas as coisas que ele muda e verificar se:

  • precisa para executar essa alteração
  • essa alteração não quebra mais nada
por 08.08.2011 / 22:59