在idea使用jetty

原创 2015年11月20日 00:07:20
参考:https://www.jetbrains.com/idea/help/run-debug-configuration-jetty-server.html
背景:web开发当中,我觉得服务层的代码尽量用单元测试来测,这样可减少启动web容器测试,容器测试麻烦且费时.虽然很多数据测试没必要启动web容器来测试,即使使用了htmlunit也替代不了测试最终的web页面测试.所以想办法使web页面测试更简单是有必要的.

用惯了idea+maven+jetty的方式,觉得用jetty比tomcat要方便很多.对于不是多模块项目,使用jetty-maven-plugin是相当的方便,只在pom.xml配置一下这个插件,然后配置一下jetty:run就OK.

但对于多模块项目,如果修改的是依赖模块的类,就要在父项目install一下,再运行.install是比较费时的,也容易忘记.顺便提下为什么修改依赖模块的类要install.jetty:run虽然不以打包成war的方式运行,但运行前会去编译与解析子项目,当本地库有了子项目的jar依赖就不会报错,并且web加载的依赖是本地库jar包,而不是从依赖模块的编译目录加载类,所以修改了依赖模块的类,如果没有install更新到本地库,web的加载不是更新类.当然修改本web块的类还是没必要在父项目install,因为jetty:run不会打包本web模块的类成jar,而是从本web模块的编译目录来加载类.



下面就介绍idea jetty插件的使用.
1.安装jetty.下载jetty的稳定版(下载地址http://www.eclipse.org/jetty/downloads.php),并解压到你想要安装的目录.要注意jetty9.3.xxxxx需要Java 8+,也就是说,如果你用Java7,就要下载jetty9.2.xxxxxx


2.安装idea的jetty插件.ctrl+alt+s打开设置.点左侧的Plugin-->在右边的搜索过滤输入jetty,查看一下jetty插件是否已安装,未有安装的就勾上-->点OK重启IDEA.


3.配置Jetty的默认配置.在主界面的右上面打开Edit Configurations...-->点左侧Defaults下的Jetty Server下的Local-->来到Server选项卡(图15111901)


点击Appication server右边的Configure...按钮选择刚才解压的jetty.After launch前面的勾可以去掉,没必要启动完为你自动打开某一URL,其它默认,然后点Apply即可.(配置过程可能提示你要激活JMX模块,按提示做就可以了)


4.为项目创建运行配置.点击左上角的加号-->Jetty Server-->Local,来到Server选项卡(图15111902),


4.1点Deployment选项卡,点右侧的加号选Artifacts,再选模块带有:war exploded(我当前的是web:war exploded)的选项.然后点击刚才加号下面的笔编辑当前的Artifact,跟着就会弹出如下界面(通过主界面右上角的项目配置也可以进入),(图15111903)


在此界面你可以修改Artifact,例如你可以使用依赖模块的输出目录替代依赖模块jar,在classes上右键-->Add Copy of-->Module Output-->选择要加入的模块,再展开lib-->删除相应jar就可以.
然后回到刚才的Deployment选项卡,勾上右侧的Use custom context root:,输入你想要的contextPath,再点Apply按钮.
4.2再点Server选项卡,如果需要配置热部署,就要配置On 'Update' action和On frame deactivation两个选项(未配置Deployment,可能不会出现On frame deactivation),On 'Update' action的几个选项在上面的链接有详细介绍.这里的On 'Update' action可理解为打开'更新'动作.
文档有介绍到,对于exploded artifacts(暴露构件,这就是我上面选带exploded的原因),如果选Update classes and resources的意思就是,更改的resources文件被更新时或者更改的Java类文件(例如EJBs, servlets,)被编译的时候,因为打开了更新动作,jetty就会重新加载达到热部署的目的.再来看看On frame deactivation(可理解为打开帧钝化),如果选了Do nothing,修改了类,热部署也失效,但选了Update classes and resources,就会每隔几秒时间,idea自动将更改过的类与源文件进行编译.
这里需要注意热部署的前提:
a.必须在调试模式下运行jetty;
b.On 'Update' action选Update classes and resources,On frame deactivation选Update classes and resource.

反正我是极少用热部署.

另:在IDEA,修改了java类不要以为按了ctrl+s就会进行编译,这是idea与eclipse一个很不同的地方,你按下ctrl+shift+f9就会主动编译该类,ctrl+f9会编译该工程,可以看看https://www.jetbrains.com/idea/help/eclipse.html#RunningReloadingChanges.


源代码测试:http://download.csdn.net/detail/xiejx618/9284517

搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(一)

2017一月 16 转载自 http://blog.csdn.net/jdjdndhj/article/details/54572439 原 搭建IntelliJ IDEA+maven+jet...
  • qq_34664963
  • qq_34664963
  • 2017年01月23日 16:47
  • 4178

IntelliJ IDEA 配置Jetty

idea jetty
  • wyyl1
  • wyyl1
  • 2015年03月29日 19:27
  • 50558

idea下jetty的配置和运行

个人根据网上教程自己配置的。 新建一个module. 然后选择项目的输出路径 output path 加包 lib 在web-inf 下面新建一个 classes 和 lib 加入jetty的包 和 ...
  • u013354696
  • u013354696
  • 2016年03月03日 10:32
  • 1842

Intellij IDEA 配置Jetty

一、在pom.xml中配置jetty插件: org.eclipse.jetty ...
  • u010246789
  • u010246789
  • 2016年06月22日 14:31
  • 11037

IntelliJ IDEA:tomcat和jetty配置

配置tomcat 第一、打开菜单栏 第二、点击设置按钮,添加应用服务器,选择tomcat server 选择tomcat目录 添加后如下所示 ...
  • machao0903
  • machao0903
  • 2017年06月20日 10:54
  • 894

IDEA下使用Jetty进行Debug模式调试

步骤如下:(1)找到选项卡中的 –Run– 然后找到 –Edit Configurations(2)点击下图中绿色的plus–找到Maven点进去 (3)按照下边的方式在Command li...
  • u010870518
  • u010870518
  • 2015年08月13日 18:47
  • 10170

Intellij IDEA下建立maven管理的web项目,配置jetty热部署

  • 2013年08月21日 08:56
  • 960KB
  • 下载

搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(二)

上一篇我们已经新建完了项目,并使用maven成功导入了所需要的jar包,接下来我们就开始对项目进行配置并完成代码书写。 三、配置SpringMVC框架环境 1、配置spring-xxxx.xml...
  • jdjdndhj
  • jdjdndhj
  • 2017年01月23日 13:40
  • 11117

图文详解 IntelliJ IDEA 15 创建 Maven 构建的 Java Web 项目(使用 Jetty 容器)

图文详解 IntelliJ IDEA 15 创建 maven 的 Web 项目搭建 maven 项目结构1、使用 IntelliJ IDEA 15 新建一个项目。 2、设置 GAV 坐标 ...
  • lw_power
  • lw_power
  • 2016年04月13日 13:00
  • 17916

体验IntelliJ IDEA + jetty

体验IntelliJ IDEA + jetty1. 安装软件环境。    1.1 解压安装ideaIU-94.192-jdk15.zip。    1.2 Jetty_Integration_7948....
  • yang_net
  • yang_net
  • 2010年05月31日 11:21
  • 24166
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在idea使用jetty
举报原因:
原因补充:

(最多只允许输入30个字)