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.


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


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.


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


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


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


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'.


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)


8
  • novo projeto vazio
  • Arquivo -> Novo -> Módulo de fontes existentes

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 ).


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.


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


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 ...


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


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


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


0

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


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.



-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.


1
não está funcionando. substitui o projeto aberto atual para a mesma janela.
sempre alian

3
@ everalian, infelizmente, esse recurso foi removido.
BAR
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.