用于静态文件的Maven模块
我有一个带弹簧和maven的Web应用程序。 该应用程序分为maven模块。 我有一个“应用程序网络”模块,可以产生战争。 另一个产生耳朵的“应用程序耳朵”模块。 另一个带有css,js和图像的“应用程序静态”生成一个zip文件。
这将是我的申请大纲:
- 应用
- application-web(java code)
- 应用耳
- application-static(css,js和images)
- 应用程序资源(语言属性)
我想部署“静态”模块的eclipse使用文件,而不是使用“application / src / main / webapp”目录中的文件。 我怎样才能做到这一点? 有可能的?
不要浪费你的时间拆包资源,一切都开箱即用:
- 资源包:始终从类路径加载,无论是爆炸(
WEB-INF/classes
)还是压缩(WEB-INF/lib
) - 提供静态资源:将它们捆绑在JAR中并使用Tomcat(Servlet 3.0)function从
META-INF/resources
,请参阅此处或使用Spring内置的mvc:resources
元素。
只需在WAR POM中添加依赖关系片段即可完成。
您可以使用maven依赖项插件来解压缩zip文件中包含的静态资源,方法如下:
在你的application-web.pom中
org.apache.maven.plugins maven-dependency-plugin unpack-resources unpack-dependencies generate-sources resources application-static your group id **/*.js,**/*.css
这项工作:
org.apache.maven.plugins maven-dependency-plugin 2.10 unpack-dependencies package unpack-dependencies pom application-static com.foo.foo.application src/main/webapp ${project.artifactId}-${project.version}
但我有另一个问题,这个解决方案只在我执行clean包时复制静态文件。 如果我使用eclipse运行application-web并在application-static中对js文件进行更改,则在执行clean package之前更改无效。 对此有何解决方案?