Ontem mudei para o IntelliJ IDEA do Eclipse.
Também estou usando o JRebel com o WebSphere Server 7.
Agora tudo parece estar funcionando bem, exceto que quando modifico um arquivo Java e clico em Salvar , o IntelliJ não recompila o arquivo, para que o JRebel o recolha.
O recurso " Construir automaticamente " do Eclipse resolveu esse problema.
No IntelliJ IDEA, tenho que pressionar CTRL+ SHIFT+ 9para recompilar a classe relevante para o JRebel buscá-la. Se forem feitas alterações em dois arquivos , eu tenho que fazer isso em cada um deles e, como o IntelliJ usa o mecanismo salvar tudo, é muito difícil saber o que recompilar manualmente, o que também não estou interessado em fazer.
Não existe uma maneira de fazer o IntelliJ fazer isso sozinho ?
Ctrl
+F9
? Isso criará o projeto inteiro e, se apenas dois arquivos forem alterados, eles serão reconstruídos.Respostas:
ATUALIZADA
Para versões do IntelliJ IDEA 12+, podemos criar automaticamente as fontes editadas se estivermos usando a opção de compilador externo. A única coisa necessária é verificar a opção " Compilar projeto automaticamente ", localizada nas configurações de " Compilador ":
Além disso, se você deseja implantar a quente, enquanto o aplicativo estiver em execução ou se estiver usando o Spring Boot Devtools, também deverá ativar o
compiler.automake.allow.when.app.running
registro from. Isso irá compilar automaticamente suas alterações.Usando o tipo Ctrl+ Shift+ A(ou ⌘+ Shift+ Ano Mac)
Registry
quando a janela do registro estiver aberta, localize e ativecompiler.automake.allow.when.app.running
, veja aqui:Para versões anteriores a 12, é possível usar o plug-in EclipseMode para fazer o IDEA compilar automaticamente os arquivos salvos.
Para obter mais dicas, consulte o guia "Migrando do Eclipse para o IntelliJ IDEA" .
fonte
Por favor, siga os dois passos:
1 - Habilite o Automake a partir do compilador
make project automatically
Make Project automatically
recurso2 - Ativar Automake quando o aplicativo estiver sendo executado
Registry
compiler.automake.allow.when.app.running
e ative-a ou clique na caixa de seleção ao lado delaNota: Reinicie seu aplicativo agora :)
Nota: Isso também deve permitir recarga ao vivo com os devtools de inicialização por mola.
fonte
AVISO
O plug-in do Modo Eclipse é obsoleto e não é compatível com as recentes compilações do IDEA 12+. Se você instalá-lo, o IDE travará em todas as alterações de arquivo e responderá extremamente lento.
O IntelliJ IDEA não usa compilação automática, ele detecta erros em tempo real, não via compilador. Semelhante ao modo Eclipse estará disponível no IDEA 12 :
Use
Build
|Make
, ele invoca o processo de criação incremental que compila apenas arquivos alterados e dependentes (é muito rápido).Há também uma entrada de perguntas frequentes que pode ajudar.
Atualização no recurso de criação automática : Quando a configuração de execução / depuração está em execução,
Make project automatically
não tem efeito. Classes no disco serão alteradas apenas emBuild
|Make
. É a decisão principal do projeto, pois, em nossa opinião, as alterações de classe no disco devem estar sempre sob o controle do usuário. O make automático não é o imitador do recurso Eclipse, funciona de maneira diferente e seu principal objetivo é economizar tempo aguardando que as classes estejam prontas quando realmente são necessárias (antes de executar o aplicativo ou os testes). A criação automática não substitui a compilação explícita que você ainda precisa acionar, como no caso descrito nesta pergunta. Se você estiver procurando um comportamento diferente, o plug-in EclipseMode vinculado na FAQ acima seria uma escolha melhor.fonte
Você pode mapear as teclas
ctrl+s
para salvar E compilar em uma etapa. Vá para as configurações do mapa de teclas e procureCompile
.fonte
Na verdade, não há diferença, pois ambos exigem 1 clique:
A solução mais simples é apenas para se acostumar. Porque quando você passa a maior parte do dia no IDE, é melhor ter hábitos rápidos em um do que hábitos lentos em vários deles.
fonte
Acabei gravando uma macro para salvar e compilar em uma etapa e o mapa
Ctrl+s
de teclas para ela.fonte
Eu consegui resolver isso usando macros.
Comecei a gravar uma macro:
Nomeie algo útil como "SaveAndMake".
Agora basta remover a opção Salvar todas as combinações de teclas e adicionar a mesma combinação de teclas à sua macro!
Então agora, toda vez que eu salvo, ele salva e faz uma compilação suja, e o jRebel agora detecta todas as alterações corretamente.
fonte
Por favor, siga estas etapas cuidadosamente para habilitá-lo.
1) crie o projeto Spring Boot com o SB V1.3 e adicione "Devtools" (1 *) às dependências
2) chame Ajuda-> Localizar Ação ... e digite "Registro", na caixa de diálogo, procure por "automake" e ative a entrada " compiler.automake.allow.when.app.running ", feche a caixa de diálogo
3) habilite a compilação em segundo plano em Configurações-> Compilar, Execução, Implantação-> Compilador "Criar projeto automaticamente"
4) abra a configuração de execução do Spring Boot, você receberá uma mensagem de aviso se tudo estiver configurado corretamente
5) Execute seu aplicativo, mude suas aulas on-the-fly
Por favor, relate suas experiências e problemas como comentários para esse problema.
Clique aqui para mais informações
fonte
A única coisa que funcionou para mim no meu projeto maven que foi afetado por isso é adicionar uma meta de "compilação de teste" à configuração de execução dos meus testes de unidade. Solução incrivelmente desajeitada, mas funciona.
fonte
O Intellij falha silenciosamente quando encontra um problema de compilação em outro módulo e a compilação automática não é executada. Então verifique sua
Problems
janelafonte
Eu tive o mesmo problema. Eu estava usando o "Modo de economia de energia", que impede a compilação incremental e mostra erros de compilação.
fonte
Use o plug-in Reformatar e Compilar (inspirado no plug-in Salvar Ações de Alexandre DuBreuil):
https://plugins.jetbrains.com/plugin/8231?pr=idea_ce
No momento, estou oferecendo apenas um arquivo jar, mas esta é a parte mais importante do código:
fonte
Edite sua Configuração de Execução / Depuração para que a opção Compilar esteja selecionada antes de iniciar
Depois que a opção Compilar estiver selecionada
A solução acima funcionou para mim enquanto trabalhava no meu conjunto de testes JBehave
fonte
Não estava funcionando para mim devido a um módulo desnecessário na estrutura do meu projeto. Os testes foram executados usando o outro módulo, suponho.
Não sei como acabou assim, mas removê-lo resolveu o problema.
Verifique se as configurações de Executar / Depurar estão usando o módulo que você está construindo com o salvamento automático.
Por exemplo: veja o módulo em
Você pode alterar os módulos em Estrutura do projeto - Módulos
fonte
Eu tive o mesmo problema. Eu acho que seria apropriado verificar se sua classe pode ser compilada ou não. Clique em recompilar (Ctrl + Shift + F9 por padrão). Se não está funcionando, você deve investigar por que não está compilando.
No meu caso, o código não era de compilação automática porque havia erros ocultos na compilação (eles não eram mostrados nos logs em nenhum lugar e a instalação limpa do maven estava funcionando). A causa raiz estava incorreta na Estrutura do Projeto -> Configuração dos módulos, portanto, o Intellij Idea não conseguiu construí-lo de acordo com esta configuração.
fonte
Eu tive o mesmo problema e também um ícone de arquivo de problema no intellij, então removi a
.idea
pasta e reimporte o projeto resolvi o meu problema.fonte
Eu estava recebendo erro: alguns jars não estão no caminho de classe. Então, apenas apague o jar corrompido e execute-o abaixo das etapas
fonte
Não há pontos suficientes para comentar uma resposta existente, mas semelhante a algumas pessoas acima, acabei adicionando uma macro e um mapa de teclas para Organizar importações / Formato / Salvar / FastReload (F9) / Sincronizar .
A sincronização é adicionada, pois parece ser a única maneira de também ver atualizações nos recursos modificados por ferramentas / observadores de construção externos (por exemplo, webpack).
O processo é mais lento que o eclipse - e para a atualização de arquivos externos, muitas vezes é necessário executar o comando várias vezes - mas suponha que eu possa conviver com ele.
fonte