WEB 工程目录结构与持续集成

2014 年 05 月 08 日

现在的WEB工程目录,按照maven的“约定优于配置”的习惯,基本就是这样的。

  • pom.xml: maven配置文件
  • src/main/java:java源文件
  • src/main/resources:配置文件放在这里,比如db.properties,这里是maven-resource-plugin能处理的目录,放在别的目录似乎不做处理; 追加一句,db.properties中的属性名要加个前缀,比如我之前写的username=xxx就有问题,但写成db.username=xxx就没问题,非常奇怪,原因不明。
  • src/main/resources/db/migration:放flyway的数据库SQL
  • src/main/webapp/css
  • src/main/webapp/js
  • src/main/webapp/fonts
  • src/main/webapp/res: 上面四个目录用来放自己的css/js/fonts和资源,纯属个人喜好问题 我自己是把用到的第三方css/js/fonts放到res里面,看着整齐。
  • src/main/webapp/WEB-INF:放web.xml/servlet配置/security配置等
  • src/main/webapp/WEB-INF/views:放视图,如jsp等
  • test/java:放测试类

另外,持续集成方面,多个数据库配置用maven profile配合resource filtering来做;版本号通过CI修改环境变量,在maven配置中直接使用环境变量写入MANIFEST.MF,然后在代码中通过jcabi-manifests来读取,注意需要通过自动装配得到servletContext,然后append到Manifests才能正常读取。

Top