对于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可以自定义的

面向JVM的应用程序的项目结构的更多相关文章

  1. 一步步构建.NET Core Web应用程序---基本项目结构

    前言 随着.NET Core日益成熟, 我作为C#&.NET体系中的一份子也加入了.NET Core 这一体系中,随着不断学习, 接触到的各种框架日益庞杂,接下来我会由一个新手的角度把整个基于 ...

  2. 微信小程序学习二 微信小程序的项目结构

    进来之后可以看到五个文件和两个文件夹,一般新建的小程序项目都是这种格式,但有些可能会不一样,不用担心,因为我们所要关注的文件是不会变的 pages 小程序的页面放置文件夹,每一个页面(page)包含四 ...

  3. net core体系-web应用程序-3项目结构、配置文件详解

    一.应用程序文件结构 如下图所示,相比于Asp.Net项目,在新建的Asp.Net Core项目中,没有了Global.asax以及Web.config这样的文件,但多了几个其他主要的文件,它们分别为 ...

  4. .NET CLI简单教程和项目结构

    WHAT IS .NET CLI ? .NET 命令行接口 (CLI) 工具是用于开发.生成.运行和发布 .NET 应用程序的跨平台工具链. 来源:.NET CLI | Microsoft Docs ...

  5. MVC 5 第二章 项目结构

    通过本章学习,你将了解到一个MVC 5应用程序的项目组成以及项目文件的相关信息,从而更好地架构设计出自己的项目结构. 单从MVC的字面意思我们便能够注意到M-模型, View-视图, Controll ...

  6. 微信小程序开发01 --- 微信小程序项目结构介绍

    一.微信小程序简单介绍: 微信官方介绍微信小程序是一个不需要下载安装就可使用(呵呵,JS代码不用下载吗?展示的UI不用下载吗?)的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用. ...

  7. Android应用程序项目结构

    Android应用程序项目结构 [src]:JAVA源代码目录 [gen]:由系统自动生成的JAVA源码文件,不可修改,只可查看和使用 加载的和依赖的类库 [assets]:本地存储文件的一个文件夹 ...

  8. Python封装应用程序的最佳项目结构是什么?

    Python封装应用程序的最佳项目结构是什么? 转载来源于stackoverflow:https://stackoverflow.com/questions/193161/what-is-the-be ...

  9. Android程序项目结构(二)

    利用Android Studio创建完第一个Hello World项目后,我们会看到使用project模式的项目结构. 一..gradle和.idea 这两个目录放置的是Android Studio自 ...

随机推荐

  1. selenium 等待时间3种方式

    强制等待 sleep() -- 最不建议用 缺点:sleep(10)网络不好的情况,到10秒就抛出异常网络很好,1秒钟就响应了,白白等待多9秒 隐式等待 -- 也不是很理想的方法implicitly_ ...

  2. 前端校招知识体系之css

    本文将从以下四个方面展开介绍: 选择器 样式表继承 css3部分特性 BFC css选择器优先级策略 先附上个链接:css选择器参考手册 内联>id>class=属性选择器=伪类选择器&g ...

  3. Maven 集成Tomcat插件(引用)

    Maven已经是Java的项目管理标配,如何在JavaEE开发使用Maven调用Web应用,是很多同学关心的问题.本文将介绍,Maven如何介绍Tomcat插件. Maven Tomcat插件现在主要 ...

  4. 基于Redis做内存管理

    1 Redis存储机制: redis存储的数据类型包括,String,Hash,List,Set,Sorted Set,它内部使用一个redisObject对象来表示所有的key和value,这个对象 ...

  5. ffmpeg windows下编译安装

    安装msys2 更新源使下载速度更快 进入msys64/etc/pacman.d/目录中,分别在三个文件中增加mirrorlist.mingw32Server = http://mirrors.ust ...

  6. Linux 部署或升级openssh7.5p1

    运维Linux系统,部署或升级openssh是经常面临的事,以下已redhat6和redhat7为例. 在redhat6中部署openssh会有什么坑,在编辑openssh源码包时会报一些类似的错误, ...

  7. vue2.0 之 深入响应式原理

    实例demo<div id="app"> <span>{{a}}</span> <input type="text" ...

  8. Python日志库logging总结

    转自  https://cloud.tencent.com/developer/article/1354396 在部署项目时,不可能直接将所有的信息都输出到控制台中,我们可以将这些信息记录到日志文件中 ...

  9. vertica copy

    copy huimei.ken_copy  from '/home/dbadmin/file.txt' delimiter ';'

  10. 【XSY2472】string

    题目 Description 输入文件: string.in 输出文件: string.out 给定一个由且仅由字符 'H' , 'T' 构成的字符串 \(S\) . 给定一个最初为空的字符串 \(T ...