IntelliJ: trabalhando em vários projetos

332

Construímos em vários projetos (vamos chamá-los de A, B, C). Projeto A usa .jar do projeto B que usa .jar do projeto C.

Estou modificando códigos de todos os projetos de A / B / C (A é o aplicativo MVC, B são serviços de negócios e C é uma camada compartilhada).

O problema é que, no Eclipse / NetBeans, posso ver todos eles de uma vez e é confortável modificá-los. No IDEA, porém, tenho que abrir 3 instâncias (ou n instâncias) do IntelliJ IDEA.

Estou esquecendo de algo? Existe uma abordagem melhor ao usar o IntelliJ? Essa é a maior desvantagem do IntelliJ para mim.

Xorty
fonte
3
Examinando as respostas até o momento, a essência básica que vejo é que o IntelliJ define o que o Eclipse chama de "projetos" como módulos e "espaços de trabalho" como projetos. A idéia é garantir que os módulos no mesmo projeto estejam bastante relacionados. Portanto, se o projeto A depender do projeto B, mas ambos não estiverem totalmente relacionados ao projeto C, seria bom abrir os projetos A e B como módulos no mesmo projeto IntelliJ, enquanto abriria C em um projeto separado em uma segunda instância do IntelliJ. Você pode concordar ou discordar do design, mas (supondo que eu tenha capturado a idéia corretamente) honro o pensamento por trás dela.
John Chesshir

Respostas:

134

Sim, sua intuição foi boa. Você não deve usar três instâncias de intellij. Você pode abrir um projeto e adicionar outras 'partes' do aplicativo como módulos. Adicione-os através do navegador do projeto, a tecla de atalho padrão é alt + 1

ŁukaszBachman
fonte
1
Estou fazendo o mesmo: importe o projeto principal e depois importo o meu segundo projeto usando o 'módulo de importação', mas depois disso - obtive "Esses módulos foram removidos da estrutura do maven: ... Deseja que eles sejam removidos do projeto também? " - Então eu pressiono 'Não'. Mas esse diálogo aparece muitas vezes. O que eu posso fazer?
Nnhthuan 25/09/14
99
Melhor resposta abaixo
RedDevil
3
@redDevil qual?
Piotr Findeisen
4
@redDevil Não! Esta resposta é mais geral, se você tiver projetos que não sejam especialistas, essa resposta é melhor, pois a resposta votada mais alta simplesmente não os cobre. As duas respostas abordam situações diferentes e são igualmente relevantes, ninguém é melhor que o outro.
Luk2302
2
Isso é melhor do que a resposta "Somente Maven", mas não ajuda se você tiver projetos não relacionados que deseja que sejam visíveis simultaneamente (por exemplo, acesso fácil para consultar o código de outro projeto) ou se você suportar uma biblioteca que é uma dependência de o projeto em que você está focado. Extremamente frustrante como o IJ não usou o modelo Eclipse / NetBeans aqui, é a principal coisa que me impede de mudar para o IJ.
Manius
423

Eu acho que isso melhorou com as versões recentes do IntelliJ. Na minha versão atual (12.0.2), você pode adicionar qualquer número de projetos Maven separados ao mesmo "espaço de trabalho".

A maneira mais simples de fazer isso é clicar no pequeno +ícone na janela "Projetos Maven" (Exibir> Janelas de ferramentas> Projetos Maven) e, em seguida, selecionar o arquivo pom adicional que você deseja importar.

Viktor Nordling
fonte
2
Apenas para adicionar: quando o Projeto Maven for adicionado, ele será carregado no painel Projeto, se for um projeto local.
Aram Kocharyan
9
Se esses projetos estiverem localizados em diferentes repositórios git, você poderá verificar 'Controlar repositórios de forma síncrona' nas configurações (Configurações> Controle de versão> Git). O IntelliJ manterá os push, atualizações e seleção de ramificações sincronizados nos vários projetos.
Tim Van Laer
13
Para quem é novo no IntelliJ e não sabe onde fica a janela "Projetos Maven": canto superior direito.
Dustin.schultz
1
Com a versão de 2017, é diferente, consulte jetbrains.com/help/idea/2017.1/maven-projects-tool-window.html
vikramvi
3
Portanto, se você precisar de vários projetos abertos, mas são projetos Gradle ou Ant, você ainda estará sem sorte. Não, obrigado ... Eu preciso ter todos os 3 abertos, como o NetBeans e o Eclipse permitem. A falta de um espaço de trabalho adequado é a principal razão pela qual ainda não uso o IJ.
Manius
216

Por favor, siga estes 2 passos:

Etapa 1 : Abra "Projetos Maven"

insira a descrição da imagem aqui

Etapa 2 : selecione o projeto que você deseja importar:

insira a descrição da imagem aqui

Tho
fonte
20
Uma imagem vale mais que mil palavras.
Neeraj Jain
3
Obrigado, isso foi realmente útil
J. Adam
3
Esta resposta me ajuda muito, especialmente, ao usar as capturas de tela. Obrigado.
Chaklader Asfak Arefe
1
Esta é a resposta que estou procurando. Muito obrigado :)
Jerin Kurian
1
Não vejo a opção no meu exemplo:2019.3 community
Marinos An
134

Pré-requisito

Ter todos os projetos relacionados no mesmo diretório raiz.

Passos

1) Primeiro você cria um novo projeto Vazio

Novo projeto vazio


2) Em seguida, você seleciona o diretório raiz de todos os seus projetos.

Isso criará um projeto vazio, com um diretório .idea que simplesmente lembrará a organização do módulo que estamos prestes a realizar na próxima etapa

Selecionar diretório raiz


3) Em seguida, na próxima janela, importe os diferentes projetos como módulos

Importar projetos como módulos


4) Na próxima janela, para importar cada projeto, basta clicar duas vezes no build.gradle ou pom.xml

O projeto será importado como um novo módulo. Selecionar arquivo de compilação


5) Concluído, agora você tem todos os seus projetos como módulos, abertos no mesmo projeto IntelliJ

Resultado

ThisIsFlorianK
fonte
16
Esta é a resposta correta exata para esta pergunta. Primeiro, crie e esvazie o projeto e adicione os projetos existentes. Obrigado.
hrzafer
4
você tem a solução. Mas o seu 'Requisito: ter todos os projetos relacionados no mesmo diretório raiz'. não é necessário. Tentei para projetos maven e ele funciona bem com a versão 2017 do Intelllij. Eu não tentei com módulos padrão intellij embora.
Gauthier Peel
2
A solução exata!
Satheesh
2
Top resposta. Obrigado :)
AnarchoEnte
2
Trabalhou para mim com o Intellij Idea 2018.3 e Gradle.
entra em 11/03/19
53

No IntelliJ 14.1.2, fiz o seguinte:

Selecione File-> Project Structure-> Modules.

Selecione +e Import Moduleselecione o diretório do seu projeto (ou o diretório onde o pom existe) e clique em OK.

Siga o próximo fluxo de telas e, depois de clicar Finish, você verá o projeto ao lado do projeto existente.

insira a descrição da imagem aqui

Neo
fonte
não pode adicionar o módulo como este. Cannot import anything from C:/Projects/
sempre alian
@everalian, você tem o pom.xml em C: / Projects ou em outro lugar?
Neo
Não, eu não tenho o arquivo pom.xml. Porque eu uso Gradlebuild.
ever alian
2
Essa deve ser a solução aceita. Nem todos os projetos usam maven.
Babken Vardanyan
34

Nenhuma das soluções funcionou para mim, pois não estou trabalhando nos projetos do Maven. Existe uma solução mais simples. Vamos para:

Arquivo-> Estrutura do Projeto-> Módulos.

insira a descrição da imagem aqui

Em vez de adicionar o módulo, basta clicar na terceira opção (copiar). Navegue pelo diretório local e selecione o projeto que você deseja adicionar. O nome do módulo será resolvido automaticamente. É isso aí.

Atualização: Quando você deseja reabrir para o projeto com vários subprojetos, a fim de evitar refazer as etapas conforme descrito acima, basta ir em Arquivo-> Abrir Recente -> 'Seu Grande Projeto'.

gmode
fonte
1
Sim ... oh Sim .... Esta é a solução que estou procurando. A importação como módulo ou projeto maven não gera .ideae xxx.imlarquivos. Isso pode causar problemas com os blocos apache . Estou usando com a versão 2018.1.5. Muito obrigado.
Cataclysm
Isso é incrível! A única desvantagem é usar o IDE apenas como editor e ainda ter que navegar para a pasta correta para compilar e executar. Alguém tem uma maneira fácil de usar esta solução para várias pastas (módulos copiados) e ainda assim compilar e executar no editor?
Greg Hilston
11

Para expandir a resposta do @Neo: depois de escolher seu diretório. selecione import module from external modele escolha seu modelo (nesse caso, maven).

escolha o modelo

Em seguida, marque a keep project filesopção na próxima caixa de diálogo. Ele manterá todos os arquivos no diretório original.

opções

Sua estrutura final do projeto seria algo assim.

estrutura

Agora você pode adicionar seu módulo como dependência aos outros módulos. pom.xml e, se alterar o código fonte de suas dependências, a Intellij se encarrega de atualizar seu projeto (não há necessidade de executar a mvnconstrução manualmente para dependências)

Seyed Jalal Hosseini
fonte
8
  • novo projeto vazio
  • Arquivo -> Novo -> Módulo de fontes existentes
1lOtzM291W
fonte
6

Você pode usar o plug-in Armory, que facilita a alternância entre projetos. O atalho padrão para Project List é Alt + A .

Captura de tela da janela Lista de projetos

Por padrão, os projetos abertos no momento são exibidos no topo desta lista (com estilo negrito ).

PHPLego
fonte
6

Abra preferência -> aparência e comportamento -> Configurações do sistema -> selecione (abra o projeto em uma nova janela) e aplique.insira a descrição da imagem aqui

Em seguida, você pode abrir e editar vários projetos.

Raymond
fonte
5
É exatamente isso que o OP está tentando evitar. Ele os quer na mesma janela, todos os três projetos ao mesmo tempo.
Simon Forsberg
6

Para quem usa Gradle também pode aproveitar o mesmo:

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Vá para: 1. Exibir -> Janelas de ferramentas -> Gradle 2. Clique no +botão e adicione seu build.gradlearquivo

Abhishek Ransingh
fonte
Você está usando a Community Edition ou Ultimate Edition? Eu sou novo no Intellij e só tenho o CE (2019.3.3). Isso não tem Gradle nesse menu.
mike roedor
4

Pressione "F4" nas janelas que abrirão "Estrutura do Projeto" e clique no ícone "+" ou "Alt + Inserir" para selecionar um novo projeto a ser importado; depois clique no botão OK ...

Akshay Lokur
fonte
Obrigado pela chave. Foi útil se você esqueceu de adicionar algo com a resposta de @ThisIsFlorianK!
Satheesh
4

Use o botão para os projetos add maven e entre na pasta do projeto. Em seguida, selecione o pom.xmlarquivo e adicione-o no IntelliJ.

insira a descrição da imagem aqui

Chaklader Asfak Arefe
fonte
1

Para pessoas que não usam o maven para criar e desejam adicionar um novo projeto (eu estou usando o intellij 14.1.3):

  1. Clique com o botão direito do mouse na pasta de nível superior na visualização do projeto, selecione novo -> Módulo
  2. Nomeie o módulo com o mesmo nome que o projeto a ser adicionado
  3. No menu superior, selecione Arquivo-> Novo-> Projeto. Digite o mesmo nome que o novo módulo, os mesmos locais de pasta.
  4. Abra o projeto e aguarde intellij para criar a estrutura do projeto.
  5. Feche este novo projeto e abra o projeto original ao qual o módulo foi adicionado na etapa 2

Dependendo do seu construtor, serão necessárias etapas adicionais para adicioná-lo ao processo de construção.

Para o SBT, e no projeto de nível superior, modifiquei o arquivo Build.scala para agregar o novo projeto e adicionei o projeto na janela de projetos do SBT. Mais informações sobre compilações de multiprojetos do SBT: http://www.scala-sbt.org/0.12.2/docs/Getting-Started/Multi-Project.html

Jenn
fonte
O IntelliJ adicionou suporte para adicionar módulos sbt a um projeto e estava funcionando muito bem, mas parece estar quebrado desde as versões de 2017. Você ainda pode adicionar vários módulos sbt, mas quando você atualiza, acaba perdendo todos, exceto um.
Nader Ghanbari 25/11
1

Para Intellij IDEA 2019.2, F4 + clique no módulo, clique em + para adicionar qualquer projeto do seu HDD, acima deste menu, você pode editar o IDE com a criação do projeto e mais opções, muito fácil

danilo parada
fonte
0

você pode usar a opção de módulo de importação, que a abrirá como eclipse no mesmo navegador.

SMHasnain
fonte
diz que não pode abrir .ipr no projeto
sempre alian
0

Eu sou novo no maven e não entendi como poderia trabalhar com o projeto local do maven adicionado através da resposta de Viktor Nordling e ainda tenho uma dependência adequada no arquivo pom.xml. A resposta é simples: o intellij primeiro olha para o seu módulo adicionado localmente e, se não encontrar um, obtém o projeto remotamente. Você pode verificar isso consultando "bibliotecas externas" no navegador do projeto ao adicionar ou remover o módulo maven.

Espero que isso ajude alguém.

drakonli
fonte
0

A partir do release 2019.2, isso é tão fácil quanto Arquivo-> Anexar projeto.

🎉🎉🎉🎉🎉

Arquivo-> Anexar Projeto

Consulte: https://youtrack.jetbrains.com/issue/WEB-7968

Jeremy John
fonte
Você está usando a Community Edition ou Ultimate Edition? Eu sou novo no Intellij e só tenho o CE (2019.3.3). Isso não possui o projeto Anexar nesse menu.
mike roedor
-1

Não há necessidade de mover projetos inteiros para um módulo. O caso de uso do módulo é um pouco mais refinado do que como um contêiner de projeto.

Para abrir vários projetos na mesma janela:

Arquivo -> Abrir projeto

Selecione abrir nesta janela.

Caixa de seleção que diz adicionar ao projeto atual.

BARRA
fonte
1
não está funcionando. substitui o projeto aberto atual para a mesma janela.
sempre alian
3
@ everalian, infelizmente, esse recurso foi removido.
BAR