面向JVM的应用程序的项目结构

对于Maven所用的项目结构,称为Maven标准的目录结构,不包含git

一.一个典型的源代码结构:

/ [project-name]
  README.txt
  LICENSE.txt
pom.xml
/src /mian /java Java source code for your project /scala If you use other languages,they go at the same level /resources Resources for your project /filters Resource filter files /assembly Assembly descriptors /config Configuration files /webapp Web application resources /test /java Test sources /resources Test resources /filters Test resource filters /site Source for you project website /doc Any other documentation /lib /runtime Libraries your project needs at run time /test Libraries required to run tests /build Libraries required to build your project

如果使用Maven子项目的话,应该知道每个子项目都在项目根目录的一个目录中,子项目也遵循Maven标准的目录结构

二.源代码管理

  1.遵循Java语言的命名习惯,关于命名习惯,参见Sun文档,不过中文版http://www.blogjava.net/i369/articles/114305.html

  2.生成的任何配置或则元数据不应该放在src目录中,而是应该放在target目录中,可以通过运行全量构建(clean build)时,它们可以被删除

三.测试管理

  1.将所有要测试的源代码都放在test/[language]目录中,单元测试应该放在与包名相对应的目录中

四.构建输出管理

  1.使用Maven做构建时.它把所有的东西都放在项目根目录中一个叫做target的文件夹中,包括生成的代码,元数据文件(如Hibernate映射文件),不可以把目录中的东西提交到版本控制库中

  2.Maven在这个目录中如下创建文件:

     

/ [project-name]
  /target
      /classes             Compiled classes
      /test-classes        Compiled test classes
      /surefire-reports    Test reports

  如果你没有用Maven,可以在target目录下用一个名为reports的目录来保存测试报告,构建系统最终应该生成JAR,WAR和EAR这种形式的二进制包

五.库文件管理

  1.完全交给工具管理,比如Maven,这时就不需要将库文件提交到版本控制系统中,只需要声明一下项目中所一来的库文件就好

  2.库文件(包括构建,测试和运行时必需的所有库文件)都提交到版本控制库中,最常见的做法是将它们放在项目根目录下的lib文件夹中

  3.我认为依赖库的不断演进,一种比较好的做法是建立组织的第三方依赖库,将所有项目需要的所有依赖库文件都放进去,Mavan可以自定义的

  

posted @ 2017-06-06 21:26  哈久克路  阅读(292)  评论(0编辑  收藏  举报