用Maven + Jetty 在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>
到此,重启工程看到控制台输出如下:
[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 = none
看到红色的这一行,表示已经使用你配置的webdefault.xml
至此,问题就解决了。
另外在有些版本中,webdefault.xml配置是在<configuration>标签下用<webDefaultXml>src/main/resources/webdefault.xml</webDefaultXml>指定。
参考:http://stackoverflow.com/questions/4988019/jetty-maven-plugin-is-ignoring-custom-webdefault-xml
浙公网安备 33010602011771号