IntelliJ e Tomcat .. Howto ..?

113

Usando o Netbeans, desenvolvo sites com o Tomcat como o servidor local para gerenciá-lo. No Netbeans, era "Instalar, gravar, clicar, Executar e funciona" Como faço para obter a mesma coisa no IntelliJ?

Não consigo encontrar instruções passo a passo para isso.

Mantar
fonte
Qual versão do IntelliJ você está usando?
Romain Linsolas,
Estou usando o IntelliJ 9.0.3
Mantar
Consulte a edição IntelliJ Ultimate "Ajuda": Configuração de execução / depuração: Servidor Tomcat
Basil Bourque
Para sua informação, você pode executar o Jetty de dentro do IntelliJ e, mais tarde, implantar no Tomcat. Para obter um exemplo pré-configurado, experimente um aplicativo da web inicial Vaadin, escolhendo o tipo "Plain Java Servlet". Como um projeto orientado por Maven, você pode simplesmente descompactar o arquivo baixado e, em seguida, fazer com que o IntelliJ abra a pasta como um projeto. No Mavenpainel do IntelliJ , expanda o Pluginsitem para revelar o Jettyitem, no qual você encontrará o jetty:runitem. Você pode estudar o arquivo POM para aprender como configurar esse mecanismo Jetty em seu próprio projeto.
Basil Bourque,

Respostas:

105

NOTA: Community Edition não oferece suporte a JEE.

Primeiro, você precisará instalar um servidor Tomcat local. Parece que você já fez isso.

Em seguida, na barra de ferramentas na parte superior do IntelliJ, clique na seta para baixo à esquerda dos ícones Executar e Depurar . Haverá uma opção para editar configurações . No pop-up resultante, clique no ícone Adicionar e em Tomcat e Local .

Nessa caixa de diálogo, você precisará clicar no botão Configurar ... próximo ao Servidor de aplicativos para informar ao IntelliJ onde o Tomcat está instalado.

Steven Benitez
fonte
1
Oi Steven. Eu segui essas instruções, mas não sei como configurar as facetas e artefatos corretamente. Não encontrei nenhuma maneira de gerar uma guerra que não resultasse em um erro 404 porque index.gsp não é gerenciado por grails. Você poderia adicionar algumas instruções sobre facetas e artefatos ou aconselhar em stackoverflow.com/questions/20053061/… - obrigado.
HAL 9000 de
2
não consigo ver o servidor de aplicativos em Bulid, Execução e Implantação.
Pankaj Nimgade
1
bem merda. ive passou 2,5 dias assistindo a tutoriais do youtube tentando descobrir como diabos fazer o intellij reconhecer que tenho javaEE para poder fazer um maldito servlet. ugh. boa resposta.
Ungeheuer,
1
Quando aponto a configuração para um diretório 'base' do Tomcat fora da pasta do Tomcat, recebo um erro reclamando que não há confpasta. Eu crio um e recebo um erro de que não há server.xmlarquivo. Com o NetBeans, todo esse material para o basediretório foi criado automaticamente na pasta vazia que eu criei.
Basil Bourque de
1
Nota: Na configuração de construção, na guia Implementação, há informações chamadas na parte inferior Application Context. Este é o diretório que o tomcat local usa, então se disser asdf, seu servlet reside localhost:8080/asdf- isso pode ser diferente da produção, que é o que me confundiu
lucidbrot
45

Aqui estão as instruções passo a passo para a configuração do Tomcat no IntellijIdea:

1) Crie o projeto IntellijIdea por meio do modelo WebApplication. A ideia deve ser a versão final, não a edição da comunidade

insira a descrição da imagem aqui

2) Vá para Run-Edit configutaion e configure a pasta de localização do Tomcat, para que o Idea saberá sobre o seu servidor Tomcat insira a descrição da imagem aqui

3) Vá para a guia Implementação e selecione Artefato. Aplique insira a descrição da imagem aqui

4) Na pasta src coloque seu servlet (você pode tentar meu exemplo para fins de teste) insira a descrição da imagem aqui

5) Vá para o arquivo web.xml e vincule seu servlet assim

insira a descrição da imagem aqui

6) Na pasta web coloque seus arquivos .jsp (por exemplo hey.jsp)

insira a descrição da imagem aqui

7) Agora você pode iniciar seu aplicativo via IntellijIdea. Execute (Shift + F10) e aproveite seu aplicativo no navegador:

- para arquivos jsp: http: // localhost: 8080 / hey.jsp (ou index.jsp por padrão)

- para servlets via link virtual definido em web.xml: http: // localhost: 8080 / st

Aconic
fonte
Em sua etapa 3, não tenho o item "Artefato", apenas o item "Fonte externa". Você sabe o que está errado?
Nicolas S.Xu
Infelizmente, não
Aconic de
@ NicolasS.Xu Tive o mesmo problema quando acabei de fazer um projeto normal. Se você fizer um projeto usando o modelo WebApplication (como na etapa 1), ele deve aparecer.
user1339253
É possível fazer isso com o Community Edition, links: shortn0tes.com/2017/01/tutorial-intellij-idea-community.html e benkiew.wordpress.com/2017/06/04/… , mas pelo preço, se você leva a sério o desenvolvimento de aplicativos da web, o Ultimate oferece muito mais valor, incluindo Jersey / ReST, JSP, JSF, etc. Por que usar um serrote para rasgar a folha quando por pouco dinheiro você pode obter um excelente serrote de mesa?
Russ Bateman
39

Qual versão do IntelliJ você está usando? Observe que, desde o ano passado, o IntelliJ existe em duas versões:

  • Edição final , que é o IDE completo
  • Community Edition , que é gratuito, mas não oferece suporte a desenvolvimentos JavaEE.

(veja as diferenças aqui )

Caso esteja usando o Community Edition , você não poderá gerenciar uma instalação do Tomcat.

Caso você esteja usando a Ultimate Edition , você pode dar uma olhada em:

Romain Linsolas
fonte
Eu olhei para ele (usando ultimate btw) e dizia vá para Estrutura do projeto -> Módulos -> Adicionar nova faceta. O que me dá uma opção, Flex ...: /
Mantar
Isso pode estar relacionado ao projeto ser um "Módulo desconhecido", seja lá o que isso signifique. Eu suponho. Mas mesmo assim, se eu fizer um novo projeto, vou encontrar mais opções lá, mas não TOmcat ..
Mantar
@Meke Você deu uma olhada aqui: jetbrains.com/idea/features/application_server.html ?
Romain Linsolas
Eu vi que sim, mas não me diz nada sobre como realmente fazer isso, que é a confusão aqui. Terei que baixar o tomcat sozinho, o que não fiz com o Netbeans ou o IntelliJ pode lidar com ele sozinho ..?
Mantar
Portanto, no geral, você não tem idéia.
Mantar
17

Você também pode depurar o tomcat usando a edição da comunidade (ao contrário do que foi dito acima).

Inicie o tomcat no modo de depuração, por exemplo assim:. \ Catalina.bat jpda run

No intellij : Executar> Editar configurações> +

Selecione "Remoto" Nomeie a conexão: "somename" Defina "Porta:" 8000 (padrão 5005)

Selecione Executar> Depurar "algum nome"

MartinM
fonte
Excelente. Você também pode configurar uma ferramenta externa para iniciar o Tomcat a partir do IntelliJ IDE. Em Configurações :: Ferramentas :: Ferramentas Externas, defina o campo do programa como caminho para o seu catalina.bat, defina o campo de parâmetros para jpda run. Salve isso. A ferramenta estará disponível no menu Ferramentas :: Ferramentas Externas. Observe o uso da porta do conector Tomcat 8000, declarada acima. Se você alterar essa porta no server.xml do Tomcat, altere-a também na definição de conexão remota do intelliJ.
J Slick de
13

Verifique se os plug-ins necessários estão habilitados em Configurações | Plugins , provavelmente você desabilitou vários deles, é por isso que você não vê todas as opções de faceta.

Para obter o tutorial passo a passo, consulte: Criando um aplicativo da Web simples e implementando-o no Tomcat .

CrazyCoder
fonte
No site de confluência do IntelliJ IDEA, este tutorial infelizmente desapareceu. Apenas uma referência a um tutorial russo está presente nos comentários.
Jan Croonen
5

O problema que tive foi devido ao fato de que estava editando inadvertidamente os valores padrão e não uma nova instância do Tomcat. Clique no sinal de mais na parte superior esquerda da janela Executar e selecione Tomcat | Local de lá.

droga
fonte
1

No Netbeans, você pode clicar com o botão direito do mouse no projeto e executá-lo, mas no IntelliJ IDEA você deve selecionar o arquivo index.jsp ou o arquivo de boas-vindas para executar o projeto.

isso ocorre porque o Netbeans gera a seguinte tag em web.xml e o IntelliJ não.

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
Ammar Bozorgvar
fonte