使用Maven进行Java的web开发,Jetty Plugin是必不可缺的插件,可以极大的提到开发效率。但在Windows环境下会遇到静态文件(html、css、js)被锁定、无法即时更新的问题。要想更新这些文件,只能先停掉Jetty,保存修改,再启动Jetty,非常不方便。
解决办法是这样的:
1、从jetty.jar中解出webdefault.xml(位于org.mortbay.jetty.webapp包下)这个文件,把这个useFileMappedBuffer参数设为false
<init-param>
<param-name>useFileMappedBuffer</param-name>
<!-- change to false -->
<param-value>true</param-value>
</init-param>
2、把修改后的webdefault.xml文件跟pom.xml放在一起
3、修改pom.xml里的Jetty Plugin的配置,加入webdefault.xml
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.7</version>
<configuration>
<contextPath>/</contextPath>
<webDefaultXml>webdefault.xml</webDefaultXml>
</configuration>
</plugin>
分享到:
相关推荐
Maven Jetty插件的一大优势是支持热部署,即在代码修改后,无需重启服务器即可看到改动的效果。当项目中的源文件发生变化时,插件会自动重新编译并更新到Jetty服务器。 ** WebApp目录结构 ** 在提到的"WebApp"这个...
然而,在使用Maven Jetty插件进行项目构建和部署时,可能会遇到一个常见问题:当修改了HTML、CSS或JavaScript文件后,这些文件被浏览器加载后会出现“死锁”现象,导致文件无法被进一步修改和保存。 #### 问题分析 ...
- 使用命令`mvn jetty:run`启动Jetty服务器,它会监听代码变化并自动重新加载修改。 2. **Jetty热部署配置** - 可以通过设置`scanIntervalSeconds`属性来控制扫描源代码的间隔时间,一旦检测到更改,就会自动重新...
修改后,只需保存文件,Jetty会自动重新加载变化,无需重启服务器,提高开发效率。 7. 部署: 当开发完成并准备部署时,可以使用Maven的`package`目标打包成WAR文件,然后将此文件部署到生产环境的Jetty服务器或...
2. **静态资源服务**:讲解Jetty如何高效地处理静态资源,如HTML、CSS和JavaScript文件。 3. **连接器(Connector)**:理解Jetty的不同连接器类型,如HTTP/1.1和HTTP/2,以及如何选择和配置。 4. **安全性**:...
- 热部署:当检测到Web应用的更新时,Jetty可以自动重新加载更改,无需重启服务器。 总的来说,Jetty作为一款Java Web开发的利器,凭借其轻量级、快速以及丰富的插件支持,为开发者提供了高效且灵活的部署解决方案...
通过命令行或者IDE中的Maven插件执行`mvn jetty:run`,Jetty服务器将启动并加载应用。然后可以通过浏览器访问预设的URL,测试SpringMVC的Hello World功能是否正常工作。 6. **优点** - **快速启动**:Jetty的轻量...
4. **jetty-servlets.jar**:除了基本的Servlet支持,Jetty还提供了一些预定义的Servlet实现,比如静态资源服务、WebSocket支持等。 5. **jetty-security.jar**:用于处理安全性和认证,包含Jaas登录服务、...
这是因为Jetty支持观察文件系统变化并自动重新加载修改过的类或资源,极大地提升了开发效率。对于快速迭代的项目,这种特性非常关键,可以避免频繁的重启操作浪费时间。 Jetty的模块化设计意味着你可以根据项目需求...
2. **热部署**:当源代码发生变化时,Jetty插件可以自动检测并重新加载修改,实现热部署,提高开发效率。 3. **方便的配置**:通过插件配置文件(如`plugin.xml`),可以定制Jetty服务器的行为,例如设置端口、上...
9. **模块化**: Jetty的模块化设计使其可以根据应用需求选择加载特定的模块,从而减少资源消耗,提高效率。 10. **易用性**: Jetty的配置文件简洁明了,易于理解和管理。对于开发人员来说,这意味着更少的学习曲线...
- **模块化:** Jetty的模块化设计使得开发者可以按需选择和加载功能,减少不必要的依赖,提高应用的启动速度。 **2. 前端应用** 在前端开发中,Jetty可以作为一个小型的本地服务器,用于开发和测试目的。开发者...
无论是在小型项目中快速搭建服务器,还是在大型应用中处理复杂的Web服务,Jetty都能提供高效、稳定的解决方案。通过深入理解并实践Jetty的多种实现方式,开发者能够更好地掌控Web应用程序的生命周期和性能。
4. 容器初始化:在Jetty启动时加载Spring应用上下文,这可以通过自定义的`ContextLoaderListener`实现。 在实际开发中,"resources"目录可能包含如XML配置文件、静态资源等,而"lib"目录则存放了项目依赖的第三方库...
安装完成后,Eclipse会增加对Jetty的支持,包括启动、停止Jetty服务器,以及最重要的——热部署功能。 热部署是指在不中断服务器运行的情况下,能够自动检测到源代码的更改并重新加载,从而立即反映到运行的应用中...
6. **启动脚本**:可能有一个`start.jar`或者`jetty.sh`/`jetty.bat`脚本,用于启动Jetty服务器并加载配置和应用。 通过学习这个Jetty Sample,开发者可以了解如何在实际项目中设置和配置Jetty,包括如何编写自定义...
3. **构建工具优化**:在开发过程中,可以使用构建工具(如Gradle、Maven)配合前端构建工具(如Webpack、Gulp)来处理静态资源。这些工具可以对HTML、CSS和JS进行预编译、压缩、合并,甚至进行版本管理,提高页面...
这通过`gwt:devmode`命令实现,该命令启动一个内置的Jetty服务器并打开浏览器加载应用。 6. **源码组织**: `TodoListApp`很可能是一个主类的名字,它可能是GWT应用的入口点。源代码可能包含了业务逻辑、视图组件...
除了基本的热部署功能,JRebel 4.x还提供了其他一些实用特性,如资源文件的实时更新、Spring框架的配置文件更改无需重启、Maven或Gradle构建工具的集成等。 需要注意的是,尽管JRebel能显著提高开发效率,但它也会...
Spring Boot 应用启动原理分析 Spring Boot 是一个快速开发框架,它简化了构建和运行 Java 应用程序的过程。其核心特点之一是能够将应用直接打包成一个可执行的 JAR 或 WAR 文件,无需额外的 Web 服务器。在本文中...