IntelliJ y Tomcat .. ¿Cómo ..?

113

Usando Netbeans, desarrollo sitios con Tomcat como servidor local para administrarlo. En Netbeans era "Instalar, escribir, presionar Ejecutar y funciona". ¿Cómo hago lo mismo en IntelliJ?

No puedo encontrar instrucciones paso a paso para esto.

Mantar
fuente
¿Qué versión de IntelliJ estás usando?
Romain Linsolas
Estoy usando IntelliJ 9.0.3
Mantar
Consulte la "Ayuda" de IntelliJ Ultimate edition: Configuración de ejecución / depuración: servidor Tomcat
Basil Bourque
Para su información, puede ejecutar Jetty desde IntelliJ y luego implementarlo en Tomcat. Para ver un ejemplo preconfigurado, pruebe una aplicación web de inicio Vaadin, eligiendo el sabor "Plain Java Servlet". Como proyecto impulsado por Maven, simplemente puede descomprimir el archivo descargado y luego hacer que IntelliJ abra la carpeta como un proyecto. En el Mavenpanel IntelliJ , expanda el Pluginselemento para revelar el Jettyelemento en el que encontrará el jetty:runelemento. Es posible que pueda estudiar el archivo POM para aprender cómo configurar dicho motor Jetty dentro de su propio proyecto.
Basil Bourque

Respuestas:

105

NOTA: Community Edition no es compatible con JEE.

Primero, necesitará instalar un servidor Tomcat local. Parece que ya lo ha hecho.

A continuación, en la barra de herramientas en la parte superior de IntelliJ, haga clic en la flecha hacia abajo justo a la izquierda de los iconos Ejecutar y Depurar . Habrá una opción para editar configuraciones . En la ventana emergente resultante, haga clic en el icono Agregar , luego haga clic en Tomcat y Local .

Desde ese cuadro de diálogo, deberá hacer clic en el botón Configurar ... junto al servidor de aplicaciones para indicarle a IntelliJ dónde está instalado Tomcat.

Steven Benítez
fuente
1
Hola Steven. Seguí estas instrucciones pero no sé cómo configurar las facetas y los artefactos correctamente. No encontré ninguna forma de generar una guerra que no resulte en un error 404 porque index.gsp no es manejado por grails. ¿Podría agregar algunas instrucciones sobre facetas y artefactos o avisar en stackoverflow.com/questions/20053061/… ? Gracias.
HAL 9000
2
no puede ver el servidor de aplicaciones en Bulid, Execution and Deployment.
Pankaj Nimgade
1
bueno mierda. He pasado 2,5 días viendo tutoriales de youtube tratando de averiguar cómo demonios hacer que intellij reconozca que tengo javaEE para poder hacer un maldito servlet. ugh. buena respuesta.
Ungeheuer
1
Cuando apunto la configuración a un directorio 'base' de Tomcat fuera de la carpeta Tomcat, aparece un error quejándose de que no hay confcarpeta. Creo uno, luego aparece un error, no hay server.xmlarchivo. Con NetBeans, todas esas cosas para el basedirectorio se crearon automáticamente en la carpeta vacía que había creado.
Basil Bourque
1
Nota: En la configuración de compilación, en la pestaña Implementación, hay información en la parte inferior llamada Application Context. Este es el directorio de Tomcat los usos locales, por lo que si dice asdf, reside su servlet en localhost:8080/asdf- esto puede diferir de la producción, que es lo que me confunde
lucidbrot
45

Aquí hay instrucciones paso a paso para la configuración de Tomcat en IntellijIdea:

1) Cree el proyecto IntellijIdea a través de la plantilla WebApplication. La idea debe ser la versión Ultimate, no la edición comunitaria

ingrese la descripción de la imagen aquí

2) Vaya a la configuración Ejecutar-Editar y configure la carpeta de ubicación de Tomcat, para que Idea conozca su servidor Tomcat ingrese la descripción de la imagen aquí

3) Vaya a la pestaña Implementación y seleccione Artefacto. Aplicar ingrese la descripción de la imagen aquí

4) En la carpeta src ponga su servlet (puede probar mi ejemplo con fines de prueba) ingrese la descripción de la imagen aquí

5) Vaya al archivo web.xml y vincule su servlet de esta manera

ingrese la descripción de la imagen aquí

6) En la carpeta web, coloque sus archivos .jsp (por ejemplo, hey.jsp)

ingrese la descripción de la imagen aquí

7) Ahora puede iniciar su aplicación a través de IntellijIdea. Ejecute (Shift + F10) y disfrute de su aplicación en el navegador:

- a archivos jsp: http: // localhost: 8080 / hey.jsp (o index.jsp por defecto)

- a servlets a través del enlace virtual que configuró en web.xml: http: // localhost: 8080 / st

Acónico
fuente
En su paso 3, no tengo el elemento "Artefacto", solo el elemento "Fuente externa". ¿Sabes lo que está mal?
Nicolas S.Xu
Desafortunadamente, no
Aconic
@ NicolasS.Xu Tuve el mismo problema cuando acababa de hacer un proyecto normal. Si crea un proyecto utilizando la plantilla de aplicación web (como en el paso 1), debería aparecer.
user1339253
Es posible hacer esto con Community Edition, enlaces: shortn0tes.com/2017/01/tutorial-intellij-idea-community.html y benkiew.wordpress.com/2017/06/04/… , pero por el precio, si si se toma en serio el desarrollo de aplicaciones web, Ultimate le ofrece mucho más valor, incluso para Jersey / ReST, JSP, JSF, etc. ¿Por qué utilizar una sierra de mano para cortar la hoja cuando por poco dinero puede obtener una sierra de mesa fina?
Russ Bateman
39

¿Qué versión de IntelliJ estás usando? Tenga en cuenta que desde el año pasado, IntelliJ existe en dos versiones:

  • Ultimate Edition , que es el IDE completo
  • Community Edition , que es gratuita pero no admite desarrollos JavaEE.

(ver diferencias aquí )

En caso de que esté utilizando Community Edition , no podrá administrar una instalación de Tomcat.

En caso de que esté utilizando la Ultimate Edition , puede echar un vistazo a:

Romain Linsolas
fuente
Lo miré (Usando ultimate por cierto) y dice ir a Estructura del proyecto -> Módulos -> Agregar nueva faceta. Lo que me da una opción, Flex ...: /
Mantar
Eso podría estar relacionado con que el proyecto sea un "Módulo desconocido", sea lo que sea que eso signifique. Supongo. Pero aun así si hago un nuevo proyecto encontraré más opciones ahí pero no TOmcat ..
Mantar
@Meke ¿Echaste un vistazo aquí: jetbrains.com/idea/features/application_server.html ?
Romain Linsolas
Vi que sí, pero no me dice nada sobre cómo hacerlo realmente, que es la confusión aquí. ¿Tendré que descargar Tomcat yo mismo, lo que no hice con Netbeans o puede IntelliJ manejarlo por sí mismo ...?
Mantar
Entonces, en general, no tienes idea.
Mantar
17

También puede depurar tomcat usando la edición comunitaria (a diferencia de lo que se dijo anteriormente).

Inicie tomcat en modo de depuración, por ejemplo así:. \ Catalina.bat jpda run

En intellij : Ejecutar> Editar configuraciones> +

Seleccione "Remoto" Nombre la conexión: "somename" Establezca "Puerto:" 8000 (predeterminado 5005)

Seleccione Ejecutar> Depurar "somename"

MartinM
fuente
Excelente. También puede configurar una herramienta externa para iniciar Tomcat desde IntelliJ IDE. En Configuración :: Herramientas :: Herramientas externas, configure el campo del programa como ruta a su catalina.bat, configure el campo de parámetros para ejecutar jpda. Guárdalo. La herramienta estará disponible en el menú Herramientas :: Herramientas externas. Tenga en cuenta el uso del puerto del conector Tomcat 8000, indicado anteriormente. Si cambia ese puerto en el archivo server.xml de Tomcat, cámbielo también en la definición de conexión remota de intelliJ.
J Slick
13

Verifique que los complementos necesarios estén habilitados en Configuración | Complementos , lo más probable es que haya desactivado varios de ellos, por eso no ve todas las opciones de facetas.

Para ver el tutorial paso a paso, consulte: Crear una aplicación web sencilla e implementarla en Tomcat .

CrazyCoder
fuente
En el sitio de confluencia de IntelliJ IDEA, este tutorial ha desaparecido lamentablemente. Solo una referencia a un tutorial de ruso está presente en los comentarios.
Jan Croonen
5

El problema que tuve se debió al hecho de que, sin saberlo, estaba editando los valores predeterminados y no una nueva instancia de Tomcat. Haga clic en el signo más en la parte superior izquierda de la ventana Ejecutar y seleccione Tomcat | Local de ahí.

maldita sea
fuente
1

En Netbeans puede hacer clic con el botón derecho en el proyecto y ejecutarlo, pero en IntelliJ IDEA debe seleccionar el archivo index.jsp o el archivo de bienvenida para ejecutar el proyecto.

esto se debe a que Netbeans genera la siguiente etiqueta en web.xml e IntelliJ no.

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