meimei10251314 发表于 2017-3-1 12:30:10

Maven + Jetty 部署锁文件解决办法

  用Maven + Jetty 在Eclipse环境启动后,改静态文件的时候出现如下提示

  就表示文件被锁住了。
  解决办法如下:



       <plugin>
         <groupId>org.eclipse.jetty</groupId>
         <artifactId>jetty-maven-plugin</artifactId>
         <version>9.2.0.RC0</version>
         <configuration>
         <webAppSourceDirectory>WebContent</webAppSourceDirectory>
         <scanIntervalSeconds>3</scanIntervalSeconds>
         <contextXml>src/main/resources/jetty-contexts.xml</contextXml>
         <webAppConfig>
             <contextPath>/mylog4j</contextPath>
            <!-- 此处指定默认Jetty Web配置文件 -->
             <defaultsDescriptor>src/main/resources/webdefault.xml</defaultsDescriptor>
         </webAppConfig>
         </configuration>
       </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>
  到此,重启工程看到控制台输出如下:
   Applying context xml file src/main/resources/jetty-contexts.xml
Context path = /mylog4j
Tmp directory = H:\neon\neon-workspace\mylog4j\target\tmp
Web defaults = src/main/resources/webdefault.xml
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

页: [1]
查看完整版本: Maven + Jetty 部署锁文件解决办法