eclipse jetty-maven-plugin下通过jrebel实现动态加载
2017-03-18 00:00
344 查看
摘要: 开发环境下实现动态加载,提高工作效率
在eclipse中开发web工程,使用jetty-maven-plugin插件可以大大提高开发和测试效率,但是jetty-maven-plugin对于热部署(动态加载class)的支持并不是太好,所以现在通过引入jrebel来实现动态加载功能。
http://pan.baidu.com/s/1kUNFdiB
解压密码:j2ee.cc
说明:该jrebel版本来源于网络,仅限用于相关测试,请下载24小时后删除
其中,建议将scanIntervalSeconds的值设置为0
其中<code>e:/jrebel_6.4.8_agent_crack/jrebel.jar</code>是本地jrebel的位置
最后在eclipse中通过maven命令启动jetty服务,命令如下:
解决办法,找到 %repo%/org/eclipse/jetty/jetty-webapp/8.1.16.v20140903/jetty-webapp-8.1.16.v20140903.jar(%repo% 表示你
本地的 maven 仓库的目录,另外,将 8.1.16.v20140903换成你所使用的版本)。用压缩工具打开它, 找到 jetty-webapp-8.1.16.v20140903.jar/org/eclipse/jetty/webapp/webdefault.xml,修改 webdefault.xml 文件,用文本编辑器打开它,搜索找到
useFileMappedBuffer 配置的行,将 true 改成 false 以禁掉缓存。
将修改好的 webdefault.xml 文件重新压缩进去即可。
在eclipse中开发web工程,使用jetty-maven-plugin插件可以大大提高开发和测试效率,但是jetty-maven-plugin对于热部署(动态加载class)的支持并不是太好,所以现在通过引入jrebel来实现动态加载功能。
jrebel
下载jrebel,解压到本地目录,备用。http://pan.baidu.com/s/1kUNFdiB
解压密码:j2ee.cc
说明:该jrebel版本来源于网络,仅限用于相关测试,请下载24小时后删除
pom.xml配置
pom.xml文件加载jetty-maven-plugin(运行jetty服务)插件和maven-compiler-plugin(编译)插件:<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>8.1.16.v20140903</version> <configuration> <scanIntervalSeconds>0</scanIntervalSeconds> <webApp> <contextPath>/myweb</contextPath> </webApp> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin>
其中,建议将scanIntervalSeconds的值设置为0
eclipse运行配置
配置jvm运行参数-noverify -javaagent:e:/jrebel_6.4.8_agent_crack/jrebel.jar -Drebel.spring_plugin=true -Drebel.disable_update=true
其中<code>e:/jrebel_6.4.8_agent_crack/jrebel.jar</code>是本地jrebel的位置
最后在eclipse中通过maven命令启动jetty服务,命令如下:
jetty:run -Djetty.port=8080
jetty取消映射缓存
jetty 默认开启了 useFileMappedBuffer,在 jetty 运行期间,页面所使用的静态文件(如 css 文件等)不允许修改。如果你尝试去修改它们,保存的时候就会出现 Save could not be completed.解决办法,找到 %repo%/org/eclipse/jetty/jetty-webapp/8.1.16.v20140903/jetty-webapp-8.1.16.v20140903.jar(%repo% 表示你
本地的 maven 仓库的目录,另外,将 8.1.16.v20140903换成你所使用的版本)。用压缩工具打开它, 找到 jetty-webapp-8.1.16.v20140903.jar/org/eclipse/jetty/webapp/webdefault.xml,修改 webdefault.xml 文件,用文本编辑器打开它,搜索找到
useFileMappedBuffer 配置的行,将 true 改成 false 以禁掉缓存。
<init-param> <param-name>useFileMappedBuffer</param-name> <param-value>false</param-value> </init-param>
将修改好的 webdefault.xml 文件重新压缩进去即可。
相关文章推荐
- ASP.NET通过使页面动态加载不同CSS实现多界面
- 网页动态加载图片 通过JS和jquery实现。
- Swift微博项目--Swift中通过类名字符串创建类以及动态加载控制器的实现
- 通过maven-weblogic-plugin实现weblogic的自动部署
- [转] 通过反射实现动态功能模块加载
- 通过URLClassLoader实现动态加载指定路径下所有Jar
- ExtJS Tree利用json(直接传List TreeNode,不需要转化为JSONArray或通过JSP传)在Struts 2实现Ajax动态加载树结点
- 通过使页面动态加载不同CSS实现多界面
- AngularJs 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
- Intellij IDEA使用 JRebel 搭配 maven-jetty-plugin插件实现热部署
- VC++通过动态生成并加载DLL,实现可执行文件的自删除
- C#——通过XML读取左侧菜单实现Extjs菜单动态加载
- 通过URLClassLoader实现动态加载jar文件
- 如何通过反射实现动态功能模块加载
- asp.net通过动态加载不同CSS实现多界面
- 通过使页面动态加载不同CSS实现多界面
- C#动态加载DLL,通过配置文件实现对程序集的即插即用
- 如何通过反射实现动态功能模块加载
- C# 通过 AppDomain 应用程序域实现程序集动态卸载或加载
- C#如何通过反射实现动态功能模块加载