Pergunta

Atualmente, estou enfrentando um problema com 'Código Hot Substituir' não trabalhando no Eclipse Galileo e JBoss 4.2.3.

Entre outras aplicações, estou executando uma guerra de Java explodida no meu JBoss local. O projeto do qual é construído é gerenciado pelo Maven. Construo o projeto usando a guerra do MAVEN: explodi e depois copio esse diretório para o JBoss com um script de formigas.

Quando agora estou executando o aplicativo e define um ponto de interrupção em qualquer lugar do código, o Eclipse interrompe corretamente nessa linha no modo de depuração. Mas quando estou alterando o arquivo de origem e salvá -lo, o Eclipse não aplica essa alteração no JBoss. Por exemplo, quando faço uma linha de código normal em um comentário, o depurador ainda passa a esse comentário como se fosse o código Java regular. Ou quando eu removo uma linha, o depurador parece sair da sincronização com o arquivo e começa a pisar no parêntese.

Mas também não estou recebendo nenhum código de código de acesso '. Parece -me que o Eclipse aplica as alterações nos arquivos de origem, mas não o aplica ao JBoss.

Existem preferências especiais que precisam ser ativadas para fazer com que o código quente substitua o trabalho? Ou há algum erro na maneira como eu construo e implanto o aplicativo para o JBoss?

Foi útil?

Solução

Não trabalhei com o JBoss, mas tenho duas sugestões.

  1. Se você executar seu aplicativo no Eclipse usando a configuração de lançamento

    O seu sinalizador "Projeto" - "Build automaticamente" está ativado? Caso contrário, o código não é compilado e ignorou o tempo de execução T.

  2. Ao depurar um aplicativo no modo remoto, você não pode alterar o código, mas pode alterar o valor dos parâmetros. (Eu penso)

Outras dicas

Eu tive problemas em um projeto com o Maven e o Eclipse. Não foram mostrados erros, mas a substituição do código quente não estava funcionando. Eu li que "Build automaticamente" precisa ser verificado. Eu verifiquei isso e ainda não funcionou. Eu tive alguns erros em outros projetos no meu caminho de construção. Eu acredito que esse foi o erro. Quando pesquisei, descobri que tivemos que desmarcar a "abortar construir quando o BuildPath erros". Eu dei os detalhes no link abaixo.

A primeira verificação é o projeto/construção automaticamente.

Também pode ser necessário para verificar o implantação do servidor de aplicativos configuração,

Por exemplo, para Jboss, em Eclipse, na visualização dos servidores, clique duas vezes no servidor e há uma seção Scanners de implantação com duas caixas de seleção:

  • Adicionar scanners de implantação ausentes
  • Remova scanners de implantação adicionados antes do desligamento

https://docs.jboss.org/author/display/as7/deployment+scanner+configuration Configuração do Scanner de JBoss AS/ Implantação

Recentemente, tive esse problema no Eclipse 2019-06 e descobri que tinha que desmarcar a opção em "Substituir arquivos de classe contendo erros de compilação" em Preferências-> Java-> Debug-> Código quente Substitua o grupo. Todas as outras opções foram verificadas. Antes de fazer isso eu estava recebendo "Código quente Substituir falha - Método de exclusão não implementado" Apesar da minha única mudança ser para ass um sistema.out.println Call. Assim que mudei essa opção (na mesma sessão de depuração), começou a funcionar para mim.

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