分享

Jetty启动时不能修改 js等静态文件的解决

 大头祥子 2014-03-06

Jetty启动时不能修改 js等静态文件的解决

Jetty启动后,如果修改javascript文件,将不能保存,使调试很麻烦。这是因为使用了CACHE,JETTY说是WINDOWS下的一个限制。可以通过如下方法修正:

解压出jetty.jar中的org/mortbay/jetty/webapp/webdefault.xml文件,将这一选项由true改为false,另存到src/main/resources目录,或者其它自选目录。
<init-param>
<param-name>useFileMappedBuffer</param-name>
<param-value>true</param-value> <!-- change to false -->
</init-param>

把修改后的webdefault.xml文件跟pom.xml放在一起

修改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>
...

附。。。在项目中用到的Jetty用Java代码Call Jetty启动的方法
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.webapp.WebAppContext;

public class JettyStarter {
    
    
public JettyStarter() {
        
    }
    
public static void main(String[] args) {
        
try {
            Server server 
= new Server();
            Connector connector 
= new SelectChannelConnector();
            connector.setPort(
9999);
            server.setConnectors(
new Connector[] { connector });
            
            WebAppContext webapp 
= new WebAppContext();
            webapp.setContextPath(
"/");
            webapp.setResourceBase(
"./src/main/webapp");
            webapp.setDefaultsDescriptor(
"./webdefault.xml");
            server.setHandler(webapp);

            server.start();
            server.join();
        } 
catch (Exception e) {
            e.printStackTrace();
        }
    }
}




posted on 2009-12-28 10:50 MikyTan 阅读(1050) 评论(0)  编辑  收藏 所属分类: JAVA

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多