【技術貼】第二篇 :解決使用maven jetty啟動后無法加載修改過后的靜態資源


 

之前寫過第一篇:【技術貼】解決使用maven jetty啟動后無法加載修改過后的靜態資源

一直用着挺舒服的,直到今天,出現了又不能修改靜態js,jsp等資源的現象。很是苦悶。 經過調錯處理之后,發現是jetty報錯,可以如下修改解決,jetty defaultsDescriptor 不起作用

在web.xml中新的正確配置如下(使用版本:jetty -> install/jetty-distribution-7.2.0)

<servlet> 

        <servlet-name>default</servlet-name> 

        <!-- <servlet-class>org.mortbay.jetty.servlet.DefaultServlet</servlet-class> --> 

        <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class> 

        <init-param> 

            <param-name>useFileMappedBuffer</param-name> 

            <param-value>false</param-value> 

        </init-param> 

        <load-on-startup>0</load-on-startup> 

    </servlet> 

 

另轉載一份jetty問題總結

1、由於jetty交eclipse組織接管之后,將org.mortbay.jetty.servlet.DefaultServlet修改為org.eclipse.jetty.servlet.DefaultServlet。否則報錯

2012-03-07 10:43:00.089:WARN::EXCEPTION 
java.lang.ClassNotFoundException: org.mortbay.jetty.servlet.DefaultServlet 
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
        at java.security.AccessController.doPrivileged(Native Method) 
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
        at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:428) 
        at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:381)

在web.xml中新的正確配置如下(使用版本:jetty -> install/jetty-distribution-7.2.0):

<servlet> 
        <servlet-name>default</servlet-name> 
        <!-- <servlet-class>org.mortbay.jetty.servlet.DefaultServlet</servlet-class> -->
        <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class> 
        <init-param> 
            <param-name>useFileMappedBuffer</param-name> 
            <param-value>false</param-value> 
        </init-param> 
        <load-on-startup>0</load-on-startup> 
    </servlet>

2、jetty plugin在7.0之后從mortbay組織移交給了eclipse組織,在公司內部使用groupId和ArtifactId也發生了變化。參考地址:http://host...../mvn/external/org/mortbay/jetty/jetty-maven-plugin/

3、jetty在eclipse中默認端口設置

默認是8080, 可修改。在Arguments-> VM Arguments中修改:

-Djetty.home="D:\workspaces\hummock.console.new\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -DSTART="D:\workspaces\hummock.console.new\.metadata\.plugins\org.eclipse.wst.server.core\tmp0/start.config" -Dinstall.jetty.home="D:\software\company\jetty-distribution\jetty-distribution-7.2.2.v20101205" -DVERBOSE -Djetty.port=80 -DSTOP.PORT=8082 -DSTOP.KEY=secret

4、eclipse的jetty配置

步驟1:windows->Preferences->Server->runtime environment->add -jetty -jetty v7.2

步驟2:點擊具體的項目,右鍵->jetty->server中選擇在步驟1中配置的jetty容器

步驟3:參數配置, 在步驟2的server右邊有Arguments,可以對JVM參數和程序參數進行配置

 

轉載:http://tianya23.blog.51cto.com/1081650/799082

 

自己之前的配置文件:

<plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>7.3.0.v20110203</version>
                <configuration>
                    <webAppConfig>
                        <contextPath>/report</contextPath>
                        <defaultsDescriptor>src/main/resources/webdefault.xml</defaultsDescriptor>
                    </webAppConfig>
                    <!-- 指定額外需要監控變化的文件或文件夾,主要用於熱部署中的識別文件更新  
                    <scanTargetPatterns>
                        <scanTargetPattern>
                            <directory>src</directory>
                            <includes>
                                <include>**/*.java</include>
                                <include>**/*.properties</include>
                            </includes>
                            <!-- <excludes> <exclude>**/*.xml</exclude> <exclude>**/myspecial.properties</exclude>
                                </excludes>
                        </scanTargetPattern>
                    </scanTargetPatterns>
                    <scanIntervalSeconds>10</scanIntervalSeconds><!-- 指定監控的掃描時間間隔,0為關閉jetty自身的熱部署,主要是為了使用jrebel
                    <webAppSourceDirectory>${basedir}/src/main/webapp</webAppSourceDirectory><!-- 指定web頁面的文件夾
                    <scanIntervalSeconds>0</scanIntervalSeconds>
                    <webDefaultXml>src/main/resources/webdefault.xml</webDefaultXml>
                    <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory>
                    <defaultsDescriptor>src/main/resources/webdefault.xml</defaultsDescriptor>
                </configuration>
            </plugin>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM