如何使用jetty自动热部署修改后的所有文件,比如js,jpg,class等,哇咔咔 太爽啦比tomcat舒服多了。

jetty模式是不能修改js文件的,比如你现在调试前端js,发现在myeclipse/eclipse的源码里面无法修改文件,点都不让你点,所以,你只能采用一些办法,更改jetty的模式配置。

Look:

1.从jetty.jar中解出webdefault.xml(位于org.mortbay.jetty.webapp包下)这个文件,在<servlet>节点下把这个useFileMappedBuffer参数设为false,大概就在153行左右,外国人写的N多注释结束的20行之后。

  1. <init-param>
  2. <param-name>useFileMappedBuffer</param-name>
  3. <!-- change to false -->
  4. <param-value>true</param-value>
  5. </init-param>

2.把修改后的webdefault.xml文件放到一个地方,随便放,我放在了src/main/resources下了

3.修改你的maven核心pom.xml文件

  1. <plugin>
  2. <groupId>org.mortbay.jetty</groupId>
  3. <artifactId>jetty-maven-plugin</artifactId>
  4. <version>7.3.0.v20110203</version>
  5. <configuration>
  6. <scanIntervalSeconds>10</scanIntervalSeconds>
  7. <webDefaultXml>src/main/resources/webdefault.xml</webDefaultXml>
  8. <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory>
  9. <webAppConfig>
  10. <contextPath>/report</contextPath>
  11. </webAppConfig>
  12. </configuration>
  13. </plugin>

webDefaultXml : 我们在第一步修改好的xml文件

webAppSourceDirectory :你的js,css的父级目录,目的是动态部署到jetty你的静态文件。

webAppConfig : 工程根目录,目的是为了编译java源码后自动部署到jetty,爽吧,不用部署了,自动热部署哦~~ ctrl + s 之后你就可以在浏览器观看效果咯~~

4.直接项目右键 运行maven的命令 jetty:run

控制台 :

[INFO] Started Jetty Server

[INFO] Starting scanner at interval of 10 seconds.

就可以了,随便修改吧,你的项目文件就听你的话了。。太爽了。

5.附录我所有的pom文件

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.riambsoft</groupId>
  5. <artifactId>report</artifactId>
  6. <packaging>war</packaging>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <name>report</name>
  9. <url>http://www.riambsoft.com</url>
  10. <dependencies>
  11.  
  12. <dependency>
  13. <groupId>org.codehaus.groovy</groupId>
  14. <artifactId>groovy-all</artifactId>
  15. <version>1.8.1</version>
  16. </dependency>
  17. <!-- jasperreports end -->
  18.  
  19. <dependency>
  20. <groupId>com.oracle.driver</groupId>
  21. <artifactId>jdbc-driver</artifactId>
  22. <version>10g</version>
  23. </dependency>
  24.  
  25. <dependency>
  26. <groupId>org.codehaus.plexus</groupId>
  27. <artifactId>plexus-archiver</artifactId>
  28. <version>1.0-alpha-7</version>
  29. </dependency>
  30.  
  31. <dependency>
  32. <groupId>net.sf.opencsv</groupId>
  33. <artifactId>opencsv</artifactId>
  34. <version>2.1</version>
  35. </dependency>
  36.  
  37. <dependency>
  38. <groupId>org.codehaus.plexus</groupId>
  39. <artifactId>plexus-utils</artifactId>
  40. <version>1.4.7</version>
  41. </dependency>
  42.  
  43. <dependency>
  44. <groupId>com.riambsoft</groupId>
  45. <artifactId>rsclient.web</artifactId>
  46. <version>1.0.0_without_RS10</version>
  47. </dependency>
  48.  
  49. </dependencies>
  50. <build>
  51. <finalName>report</finalName>
  52. <plugins>
  53.  
  54. <plugin>
  55. <groupId>org.mortbay.jetty</groupId>
  56. <artifactId>jetty-maven-plugin</artifactId>
  57. <version>7.3.0.v20110203</version>
  58. <configuration>
  59. <scanIntervalSeconds>10</scanIntervalSeconds>
  60. <webDefaultXml>src/main/resources/webdefault.xml</webDefaultXml>
  61. <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory>
  62. <webAppConfig>
  63. <contextPath>/report</contextPath>
  64. </webAppConfig>
  65. </configuration>
  66. </plugin>
  67.  
  68. <plugin>
  69. <groupId>org.mortbay.jetty</groupId>
  70. <artifactId>maven-jetty-plugin</artifactId>
  71. <version>6.1.25</version>
  72. <configuration>
  73. <scanIntervalSeconds>10</scanIntervalSeconds>
  74. <webDefaultXml>src/main/resources/webdefault.xml</webDefaultXml>
  75. <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory>
  76. </configuration>
  77. </plugin>
  78.  
  79. <plugin>
  80. <groupId>org.apache.maven.plugins</groupId>
  81. <artifactId>maven-compiler-plugin</artifactId>
  82. <configuration>
  83. <source>1.5</source>
  84. <target>1.5</target>
  85. <encoding>UTF-8</encoding>
  86. </configuration>
  87. </plugin>
  88.  
  89. <plugin>
  90. <groupId>org.codehaus.mojo</groupId>
  91. <artifactId>tomcat-maven-plugin</artifactId>
  92. <version>1.1</version>
  93. <configuration>
  94. <server>tomcat</server>
  95. <url>http://localhost:8080/manager/html</url>
  96. <path>/report</path>
  97. </configuration>
  98. </plugin>
  99.  
  100. <plugin>
  101. <groupId>org.apache.maven.plugins</groupId>
  102. <artifactId>maven-javadoc-plugin</artifactId>
  103. <version>2.9</version>
  104. <configuration>
  105. <encoding>UTF-8</encoding>
  106. </configuration>
  107. <executions>
  108. <execution>
  109. <phase>package</phase>
  110. <goals>
  111. <goal>javadoc</goal>
  112. </goals>
  113. </execution>
  114. </executions>
  115. </plugin>
  116.  
  117. <!-- 测试覆盖率分析插件 -->
  118. <plugin>
  119. <groupId>org.codehaus.mojo</groupId>
  120. <artifactId>cobertura-maven-plugin</artifactId>
  121. <version>2.4</version>
  122. <configuration>
  123. <encoding>UTF-8</encoding>
  124. <formats>
  125. <format>html</format>
  126. <format>xml</format>
  127. </formats>
  128. </configuration>
  129. <executions>
  130. <execution>
  131. <phase>package</phase>
  132. <goals>
  133. <goal>cobertura</goal>
  134. </goals>
  135. </execution>
  136. </executions>
  137. </plugin>
  138.  
  139. </plugins>
  140. </build>
  141. <description></description>
  142. </project>

2013年7月25日10:15:05

落雨

qq 394263788

【技术贴】解决使用maven jetty启动后无法加载修改过后的静态资源的更多相关文章

  1. 【技术贴】第二篇 :解决使用maven jetty启动后无法加载修改过后的静态资源

    之前写过第一篇:[技术贴]解决使用maven jetty启动后无法加载修改过后的静态资源 一直用着挺舒服的,直到今天,出现了又不能修改静态js,jsp等资源的现象.很是苦闷. 经过调错处理之后,发现是 ...

  2. 解决使用maven jetty启动后无法加载修改过后的静态资源

    jetty模式是不能修改js文件的,比如你现在调试前端js,发现在myeclipse/eclipse的源码里面无法修改文件,点都不让你点,所以,你只能采用一些办法,更改jetty的模式配置. Look ...

  3. 如何让windows启动后,自动加载一个DLL

    在以下注册表项中找到下面的位置: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLL ...

  4. Tomcat启动时自动加载一个类

    有时候在开发Web应用的时候,需要tomcat启动后自动加载一个用户的类,执行一些初始化方法,如从数据库中加载业务字典到内存中,因此需要在tomcat启动时就自动加载一个类,或运行一个类的方法. 可以 ...

  5. 如何在tomcat启动时自动加载一个类

    有时候在开发web应用的时候,需要tomcat启动后自动加载一个用户的类,执行一些初始化方法,如从数据库中加载业务字典到内存中,因此需要在tomcat启动时就自动加载一个类,或运行一个类的方法. 可以 ...

  6. jQuery Mobile页面跳转后未加载外部JS原因分析及解决

    在使用jQuery Mobile进行Web开发中,当页面跳转时(pageA => pageB),在pageB中引用的JS并未成功运行.因为,JQM并为将整个页面加载到当前的dom中,仅将data ...

  7. [转]在BBB启动时自动加载dtbo(或执行脚本、运行程序)

    启动时自动加载dtbo,实际上就是做了一个cape.官方推荐的方法是用eeprom来实现,请参考我的博文<为BBB制作专属自己的cape(一)>和<为BBB制作专属自己的cape(四 ...

  8. Tomcat启动时自动加载Servlet

    1.想做一个服务启动时自动启动一不停止的获取订阅功能 2.之前是做一个Jsp页面请求servlet来触发方法 3.现在实现Tomcat启动时自动加载Servlet 1.Tomcat中启动Servlet ...

  9. 如何让openvpn在windows启动时自动加载

    在非常需要vpn的人群中,他们几乎一整天都连接着vpn,但是每次开机都要连接vpn的过程有时候比较繁琐对于新手而言.这篇文章主要是说明如何在windows启动时自动加载openvpn自动连接,该教程适 ...

随机推荐

  1. [转]Android中dp,px,sp概念梳理以及如何做到屏幕适配

    http://blog.csdn.net/jiangwei0910410003/article/details/40509571 今天又开始我的App开发,因为之前一直做的是SDK,所以涉及到界面UI ...

  2. Delphi TFindDialog TReplaceDialog对话框在Memo中的使用

    Delphi TFindDialog TReplaceDialog对话框的使用 下载地址1: http://download.csdn.net/detail/teststudio/6408383   ...

  3. C程序内存管理

    C程序的内存管理 熟悉Java语言的肯定知道,Java中内存管理是由虚拟机帮助我们完毕的,在C/C++中可不是这样,程序猿须要自己去分配和回收内存空间.本文记录了C程序可运行文件的存储结构.在内存中的 ...

  4. [RxJS] Filtering operator: single, race

    Single, race both get only one emit value from the stream. Single(fn): const source = Rx.Observable. ...

  5. calltree查看工程代码中的函数调用关系

    http://blog.csdn.net/elitemouse/article/details/41680113 http://www.tinylab.org/callgraph-draw-the-c ...

  6. mapreduce实战:统计美国各个气象站30年来的平均气温项目分析

    气象数据集 我们要写一个气象数据挖掘的程序.气象数据是通过分布在美国各地区的很多气象传感器每隔一小时进行收集,这些数据是半结构化数据且是按照记录方式存储的,因此非常适合使用 MapReduce 程序来 ...

  7. xcode升级或者重新安装后不能编译的解决方法

    昨天由于xcode有一些问题,因此进行了重新安装,结果安装好后进行编译,没有进行任何改动的代码出现了两个fatal error 查看错误信息为什么的header has allready build, ...

  8. c# 二维码 显示

    需要引用 ThoughtWorks.QRCode.dll 网上可下载 //方法 public ActionResult GenerateQRCode(string content) { try { _ ...

  9. sql知识点的积累和使用过的例子

    越来越发现自己的sql方面的知识的欠缺,所以只能放低姿态一点一点的学了 一 游标和charIndex的使用. 游标我一直没用过,以前只是在同事们写的存储过程里见过,但是一直没看明白(可是我就是比较笨吧 ...

  10. 实用脚本 - - addLoadEvent 页面加载完毕执行函数

    function addLoadEvent(func){ var oldonload = window.onload; if(typeof window.onload != "functio ...