maven打包运行后怎么做到实时更新静态文件生效

html-css022

maven打包运行后怎么做到实时更新静态文件生效,第1张

原因是Jetty会使用内存映射文件来缓存静态文件,其中包括js、css文件。在Windows下面,使用内存映射文件会导致文件被锁定。解决方案是不使用内存映射文件来做缓存。步骤如下:1)在所使用Jetty版本的jar中找到webdefault.xml,把它拷贝到项目中,比如src/main/resources/webdefault.xml。对jetty6,jar文件在$maven_repo$/org/mortbay/jetty/jetty/6.x/jetty-6.x.jar,webdefault.xml文件在包org\mortbay\jetty\webapp里;对jetty7,jar文件在$maven_repo$/org/eclipse/jetty/jetty-webapp/7.x/jetty-webapp-7.x.jar\,webdefault.xml文件在包org\eclipse\jetty\webapp里。2)找到webdefault.xml文件里的useFileMappedBuffer参数,把值设成false。3)在pom.xml中,设置jetty使用更新过的webdefault.xml文件。jetty6:

1.标准目录结构

src

-main

–bin 脚本库

–java java源代码文件

–resources 资源库,会自动复制到classes目录里

–filters 资源过滤文件

–assembly 组件的描述配置(如何打包)

–config 配置文件

–webapp web应用的目录。WEB-INF、css、js等

-test

–java 单元测试java源代码文件

–resources 测试需要用的资源库

–filters 测试资源过滤库

-site Site(一些文档)

target

LICENSE.txt Project’s license

README.txt Project’s readme

工程根目录下就只有src和target两个目录

target是有存放项目构建后的文件和目录,jar包、war包、编译的class文件等。

target里的所有内容都是maven构建的时候生成的