`
lsh2366254
  • 浏览: 38902 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

在idea使用本地jetty

阅读更多

参考: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.

分享到:
评论

相关推荐

    idea的jetty-runner1.2.1插件

    总的来说,Jetty Runner 1.2.1 是 IntelliJ IDEA 中一个非常实用的插件,它简化了本地开发过程,使开发者能够更专注于编写代码和解决问题。如果你经常使用 IntelliJ IDEA 开发 Java Web 应用,这个插件绝对值得尝试...

    jetty9.4.11+jetty在idea上的配置教程

    在本文中,我们将深入探讨如何在IntelliJ IDEA(简称IDEA)这个流行的Java集成开发环境中配置Jetty 9.4.11版本。首先,我们需要解决Jetty资源下载慢的问题,然后详细介绍在IDEA中配置Jetty的步骤。 **解决Jetty资源...

    gradle的jetty插件使用例子

    本篇文章将深入探讨如何在Gradle项目中使用Jetty插件。 首先,我们来看一下`build.gradle`文件,这是Gradle构建脚本的入口。在这个文件中,我们需要配置Jetty插件。以下是一个简单的`build.gradle`示例: ```...

    jetty离线安装包

    Eclipse Jetty与Eclipse IDE紧密集成,使得开发者可以在Eclipse环境中方便地使用Jetty运行和调试Web应用。在本文中,我们将深入探讨如何进行Jetty的离线安装以及在Eclipse中配置和使用。 离线安装Jetty的过程主要...

    IntelliJ 本地服务器 IDEA

    【标题】:IntelliJ IDEA 本地服务器搭建与使用 【描述】:在软件开发过程中,经常需要测试服务器端的功能,而使用云服务器或者购买专业服务可能会产生一定的费用。IntelliJ IDEA,作为一款强大的Java集成开发环境...

    IntelliJ+Maven+Jetty+Jrebel

    3. **配置Jetty插件**:在Maven的pom.xml文件中添加Jetty插件,这样可以通过Maven命令直接启动和停止Jetty服务器,方便进行本地开发。 4. **安装JRebel插件**:在IntelliJ IDEA中安装JRebel插件,获取许可证并按照...

    Run-Jetty 插件 离线安装

    Run-Jetty插件是开发人员在使用IntelliJ IDEA或Eclipse等集成开发环境时,为了方便本地快速启动和调试Jetty服务器而设计的一款工具。由于网络环境的不稳定或者访问限制,有时候在线安装插件可能会遇到困难,这时离线...

    jetty-run插件下载

    首先,Jetty Run插件的下载是为了在本地环境中安装和使用。下载过程通常通过访问Jetty官方网站或者使用像Maven或Gradle这样的构建工具来完成。如果你的项目已经集成了Maven或Gradle,可以在构建脚本中添加对应的依赖...

    IntelliJ+Maven+Jetty+Jrebel实现web项目java代码更改后热部署

    4. **运行项目**: 使用Maven的`jetty:run`目标启动项目,此时Jetty服务器将监听指定端口,JRebel会监控源代码的变化,当检测到代码更改时,会自动更新到运行中的应用中,无需手动重启服务器。 通过这样的配置,...

    IDEA使用技巧基于201831版本.pptx

    在运行和调试方面,IDEA支持多种运行配置,包括Java主方法、Web服务器(如Tomcat、Jetty)、Maven和Gradle命令。调试功能强大,具备基本的断点设置、变量查看、单步执行等,帮助开发者高效定位和解决问题。 总的来...

    jetty-home-10.0.7.tar.gz

    在本文中,我们将深入探讨Jetty Home 10.0.7这一特定版本,了解它作为开发工具的核心特性和使用方法。 首先,让我们来理解"jetty-home-10.0.7.tar.gz"的含义。这是一个使用tar归档工具打包,并通过gzip压缩的文件,...

    maven构建的一个简单的spring mvc运行在jetty下的代码

    5. 工具:这里提到的“工具”可能是指开发和构建过程中使用的各种辅助软件,如IDE(IntelliJ IDEA或Eclipse)、版本控制系统(Git)、构建工具(Maven)等。 详细讲解: 1. Maven构建过程:Maven通过pom.xml文件...

    idea自动部署linux服务器

    通过以上步骤,你可以利用IntelliJ IDEA实现从本地开发环境到Linux服务器的自动化部署。这将极大地提升开发效率,减少手动操作带来的错误,同时使得整个软件发布流程更加流畅和可靠。对于Spring Boot项目,你还可以...

    maven多模块项目

    在本项目中,我们看到"Maven多模块项目"与Jetty服务器结合使用,这通常是为了方便开发阶段的快速部署和测试。 Jetty是一个轻量级的嵌入式Java Web服务器和Servlet容器,它可以快速启动,占用资源少,适合用于开发...

    idea+springmvc+maven搭建

    在Idea中,需要配置Maven的路径,这通常在设置中完成,指向本地的Maven安装目录。 2. **创建新项目**:在Idea中选择“New Project”,然后选择"Maven"模板,按照向导设置项目的groupId、artifactId和version等基本...

    idea工具下载到配置svn项目(maven)到启动项目的过程

    此外,对于Web项目,IDEA支持Tomcat、Jetty等服务器,可以配置并启动这些服务器来部署和运行你的应用。 总的来说,从下载IDEA到配置SVN和Maven,再到启动项目,这一系列步骤构成了Java开发中的基础流程。熟练掌握...

    IDEA下maven新建servlet3.x/web3.x工程模版

    最后,我们可以使用IDEA的内置Tomcat或Jetty插件进行本地部署和测试,或者通过Maven的`tomcat7:run`或`jetty:run`目标来启动一个内嵌的服务器。 总结来说,"IDEA下maven新建servlet3.x/web3.x工程模版"涵盖了以下...

    idea 集成 jrebel 插件包

    - 如果是下载的本地插件包,需要在Idea中通过“File” -> “Settings” -> “Plugins” -> “Install plugin from disk...”路径导入并安装。 - 如果是在市场中在线安装,只需找到JRebel插件,点击“Install”按钮...

    IDEA整合Maven+SSM框架.zip

    8. **部署与运行**:SSM整合完成后,可以使用IDEA的Tomcat或Jetty插件进行本地调试,也可以将项目打包成WAR文件部署到远程服务器上。 以上就是关于"IDEA整合Maven+SSM框架"的相关知识点。在实际开发中,理解这些...

    idea创建基于maven的web工程共6页.pdf.zi

    4. **设置Maven本地仓库**:确保IDEA已经配置了正确的Maven本地仓库路径,这是Maven下载依赖的地方。 5. **添加Web应用插件**:在pom.xml文件中,你需要添加`maven-war-plugin`插件,以便IDEA知道这是一个Web应用...

Global site tag (gtag.js) - Google Analytics