Maven + Jetty 部署鎖文件解決辦法

用Maven + Jetty 在Eclipse環境啓動後,改靜態文件的時候出現以下提示web

就表示文件被鎖住了。app

解決辦法以下:eclipse

 1       <plugin>
 2         <groupId>org.eclipse.jetty</groupId>
 3         <artifactId>jetty-maven-plugin</artifactId>
 4         <version>9.2.0.RC0</version>
 5         <configuration>
 6           <webAppSourceDirectory>WebContent</webAppSourceDirectory>
 7           <scanIntervalSeconds>3</scanIntervalSeconds>
 8           <contextXml>src/main/resources/jetty-contexts.xml</contextXml>
 9           <webAppConfig>
10             <contextPath>/mylog4j</contextPath>
11              <!-- 此處指定默認Jetty Web配置文件 -->
12             <defaultsDescriptor>src/main/resources/webdefault.xml</defaultsDescriptor>
13           </webAppConfig>
14         </configuration>
15       </plugin>
webdefault.xml 文件從你引用的jetty-webapp-*.jar中,org/eclipse/jetty/webapp/webdefault.xml複製一份出來,修改其中一個配置項:
<init-param>
    <param-name>useFileMappedBuffer</param-name>
    <param-value>false</param-value><!-- 修改爲false -->
</init-param>

到此,重啓工程看到控制檯輸出以下:webapp

[INFO] Applying context xml file src/main/resources/jetty-contexts.xml
[INFO] Context path = /mylog4j
[INFO] Tmp directory = H:\neon\neon-workspace\mylog4j\target\tmp
[INFO] Web defaults = src/main/resources/webdefault.xml
[INFO] Web overrides = nonemaven

看到紅色的這一行,表示已經使用你配置的webdefault.xmlide

至此,問題就解決了。spa

另外在有些版本中,webdefault.xml配置是在<configuration>標籤下用<webDefaultXml>src/main/resources/webdefault.xml</webDefaultXml>指定。code

參考:http://stackoverflow.com/questions/4988019/jetty-maven-plugin-is-ignoring-custom-webdefault-xmlxml

相關文章
相關標籤/搜索