使用Intellij一段时间了,仍然遇到一些不顺手的地方,自己也做了一些定制。就启动内置的Web服务器来说吧(主要说用Tomcat作为容器)。
关于停止Tomcat
停止Tomcat有两个选项:Stop
(红块)和Kill process
(骷髅)。熟悉Linux信号量的都懂的,一个是kill -term,一个是kill -9。但是Kill process
是点击Stop
之后才可选的,个人认为多此一举,测试环境呢直接Kill process
也无所谓的。因为项目复杂的时候,有时Stop
不掉也是挺正常的,还可能会留点坑。
port 1099 already in bind
Intellij启动Tomcat的时候,会启动1099作为JMX端口。所以如果同时启动多个Tomcat实例,这个端口是会冲突的。如果确实要启动多个实例,倒是可以换用不同的端口,但是更多的情况是:我打开了两个Project,前面一个Project的Tomcat我没关掉,然后下一个自然启动不起来。跟前面说的一样,基本上要养成先Stop再Kill的好习惯,反正我是如此...
修改静态资源实时生效
<strike> 用惯了Eclipse的Tomcat插件的同学都知道,在修改源代码后,如果修改的是静态文件,会自动拷贝到工作目录,从而避免重新打包和启动漫长的过程。而Intellij是不会动态拷贝的,只有手动重新启动。
有一个办法可以解决这个问题。选择Project Structure=>Artifacts=>appname:war exploded,将Output Directory设置为项目的src/main/webapp目录,同时在Run=>Edit Configuration,选择这个exploded的Artifact就行了!
缺点是有时候配置会丢失,如果发现那次无法实时修改了,再去改一次吧!</strike>
其实有个更方便的方法,在Run=>Edit Configuration里,选择On Frame Deactivation
,Intellij会在窗口失去焦点的时候,重新部署静态文件!感受到了高科技有木有!