使用IntelliJ IDEA社区版动态加载webapp
IntelliJ IDEA在重构方面碾压eclipse。但是IDEA的免费社区版并不支持web应用开发。好在Maven有一个maven-jetty-plugin
插件。如果你正在用IDEA社区版开发一个web应用,可以使用它来动态加载并调试IDE里的web应用。笔者目前使用的IDEA版本为2016.1.1。
准备环境
假设我们有一个maven的web项目,已经用IDEA打开了。那么就可以在pom.xml里加上maven-jetty-plugin
的插件:
这样便可以在命令行里用以下命令直接启动jetty服务器:
集成IDEA
在菜单Run
->Edit Configurations
里,新增一个Maven
,填入下图所示的参数:
- Name:Jetty
- Working directory:默认就好
- Command line:jetty:run
然后在Runner
标签里,填入下图所示的参数:
- VM Options:-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=6006
端口6006可以自行决定,别和其它端口冲突就行。在菜单Run
->Edit Configurations
里,新增一个Remote
,填入下图所示的参数:
- Name:Jetty-Remote-Debug
- Port:6006
和先前在Runner
标签里填写的端口一致就行。
现在就可以试试啦。首先运行Jetty,然后调试Jetty-Remote-Debug。不出意外的话,现在可以访问自己的webapp,并且可以在程序中调试了。现在修改一段程序,编译之后,新程序就能立刻生效了。刷新一下页面看看?
其它
照例附送一些Mac OS X的keymap快捷键:
- 运行Jetty:Alt+Shift+F10
- 调试Jetty-Remote-Debug:Alt+Shift+F9
- 编译:Command+Shift+F9
参考资料
https://gist.github.com/naaman/1053217/1fc1403d9d6ebc0194ecd0bf84cb0dec84b92eea