文章目录
  1. 1. 准备环境
  2. 2. 集成IDEA
  3. 3. 其它
  4. 4. 参考资料

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的插件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<project ...>
...
<build>
...
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.26</version>
<configuration>
<contextPath>/</contextPath>
<scanIntervalSeconds>0</scanIntervalSeconds>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8080</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
</plugin>
</plugins>
</build>
</project>

这样便可以在命令行里用以下命令直接启动jetty服务器:

1
mvn jetty:run

集成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

文章目录
  1. 1. 准备环境
  2. 2. 集成IDEA
  3. 3. 其它
  4. 4. 参考资料