Intellij-IDEA-Tomcat集成

Posted by AlstonWilliams on February 17, 2019

最近在做一个Web项目,由于Linux上的Eclipse丑的不能直视,操作又各种不方便,终于受够了Eclipse,重新用起了Intellij IDEA.

其实好久之前,就想过放弃Eclipse,用Intellij IDEA进行开发,但是由于Intellij IDEA不支持Tomcat自动重新部署,就没有转到Intellij IDEA,而是一直用Eclipse.

今天,又捣鼓了一番,虽然还是无法实现重新部署,但是也进步了一大步了.

在这里,我会一步步地说明如何配置Intellij IDEA,让它能够正常的使用Tomcat.

环境

我用的是Intellij IDEA Ultimate 2016.3版本,不知道Intellij IDEA Community Edition支不支持.

步骤

首先,创建一个Web项目,可以创建一个maven的web项目,也可以创建一个普通的dynamically project.

如果你跟我一样,是将项目从Eclipse迁移到Intellij IDEA,那么你还需要做一些额外的操作,比如,移除不存在的依赖,或者添加依赖等.

然后,我们需要确认Intellij IDEA中是否安装了Tomcat and TomEE Integration插件:

确保这个插件已经被安装并且开启之后,我们就需要对项目进行进一步的配置.

点击顶部菜单栏中的Run -> Edit Configurations..,在进入的面板中,点击左上角的绿色的+,然后在弹出的面板中,选择Tomcat Server -> Local

创建完之后,就会弹出上图中右边的那个部分.

你的界面很可能跟我的不一样.

第一个需要注意的地方,是JMX port.你的应该是1099.这里要根据你的Tomcat的设置进行配置.因为Intellij IDEA会使用JMX进行项目的部署,监控等.

由于在我的机器上,Tomcat的setenv.sh中,已经开启了JMX,并且其端口号是9999,所以我把JMX port改成了9999

如果你的机器上Tomcat的setenv.sh中并没有配置JMX,那么你可以跟上图中一样,手动开启JMX并设置一下JMX port

否则的话,会由于无法通过JMX连接到Tomcat,而导致项目部署不上去.

另一个需要注意的地方就是On ‘Update’ action这里,这一项表示当我们执行Update时,进行什么操作,这里我选择的是重新部署项目.因为我尝试过Reload Classes and Resources,但是并没发现有什么用.

那么什么是Update呢?当我们点击一次Run -> Update Tomcat8 Application时,就会触发一次Update

需要注意的是,只有当项目启动后,这一项才可以点击.

设置好之后,我们就需要告诉Tomcat Server我们需要部署哪一个项目了.

点击Server tab旁边的Deployment tab,如下图鼠标处所示:

点击完之后,会看到如上图所示的tab.

点击右侧的绿色的+,会让你选择要部署的Artifact.这里由于我们只有一个,所以它会直接选择.添加好之后,配置好右侧的Application Context

那么什么是Artifact

如果在上面你选择Artifact时,并没有发现.那么你可以点击菜单栏中的File -> Project Structure,在其中我们就能发现Artifact一栏:

然后点击左上角的绿色的+号,按照下面的操作进行下去,就能创建一个Artifact

然后回到前面的那个窗口中,将这个Artifact部署上去.

上面的操作都完成后,我们在底部会发现我们创建的Server.