我有几个JSF项目(由maven构建),它依赖于具有常见Web资源的项目。
我有两种可能性:
a)所有项目都有包装类型 war ,maven-war-plugin会将所有内容合并为一个战争(叠加)。
b)我的具有常见Web资源的项目打包为 war ,所有其他项目都成为 jar 工件。这些项目的所有Web资源都在 src / main / resources / META-INF / resources (servlet 3 API)下,并且不再具有 src / main / webapp 文件夹。
这种方法有缺点吗?
我认为,b)显示出很好的模块性,但“新”目录结构可能会让开发人员感到困惑。
答案 0 :(得分:0)
a)您无法将公共Web项目导出和分发为JAR(如PrimeFaces,OmniFaces,RichFaces等)。随着b)你会。
这确实只是基于servlet的Web片段项目的推荐结构(另见Servlet 3.0 specification的第8.2章)。它确实可能会使受过严格教育的开发人员感到困惑,但这是一个非技术性问题,它只是一个教育问题。在向项目介绍新的开发人员时要考虑到这一点(例如在访谈中介绍和/或在内部项目手册中记录)。