面向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可以自定义的
面向JVM的应用程序的项目结构的更多相关文章
- 一步步构建.NET Core Web应用程序---基本项目结构
前言 随着.NET Core日益成熟, 我作为C#&.NET体系中的一份子也加入了.NET Core 这一体系中,随着不断学习, 接触到的各种框架日益庞杂,接下来我会由一个新手的角度把整个基于 ...
- 微信小程序学习二 微信小程序的项目结构
进来之后可以看到五个文件和两个文件夹,一般新建的小程序项目都是这种格式,但有些可能会不一样,不用担心,因为我们所要关注的文件是不会变的 pages 小程序的页面放置文件夹,每一个页面(page)包含四 ...
- net core体系-web应用程序-3项目结构、配置文件详解
一.应用程序文件结构 如下图所示,相比于Asp.Net项目,在新建的Asp.Net Core项目中,没有了Global.asax以及Web.config这样的文件,但多了几个其他主要的文件,它们分别为 ...
- .NET CLI简单教程和项目结构
WHAT IS .NET CLI ? .NET 命令行接口 (CLI) 工具是用于开发.生成.运行和发布 .NET 应用程序的跨平台工具链. 来源:.NET CLI | Microsoft Docs ...
- MVC 5 第二章 项目结构
通过本章学习,你将了解到一个MVC 5应用程序的项目组成以及项目文件的相关信息,从而更好地架构设计出自己的项目结构. 单从MVC的字面意思我们便能够注意到M-模型, View-视图, Controll ...
- 微信小程序开发01 --- 微信小程序项目结构介绍
一.微信小程序简单介绍: 微信官方介绍微信小程序是一个不需要下载安装就可使用(呵呵,JS代码不用下载吗?展示的UI不用下载吗?)的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用. ...
- Android应用程序项目结构
Android应用程序项目结构 [src]:JAVA源代码目录 [gen]:由系统自动生成的JAVA源码文件,不可修改,只可查看和使用 加载的和依赖的类库 [assets]:本地存储文件的一个文件夹 ...
- Python封装应用程序的最佳项目结构是什么?
Python封装应用程序的最佳项目结构是什么? 转载来源于stackoverflow:https://stackoverflow.com/questions/193161/what-is-the-be ...
- Android程序项目结构(二)
利用Android Studio创建完第一个Hello World项目后,我们会看到使用project模式的项目结构. 一..gradle和.idea 这两个目录放置的是Android Studio自 ...
随机推荐
- HNUSTOJ-1696 简单验证码识别(模拟)
1696: 简单验证码识别 时间限制: 2 Sec 内存限制: 128 MB 提交: 148 解决: 44 [提交][状态][讨论版] 题目描述 验证码是Web系统中一种防止暴力破解的重要手段.其 ...
- Spring boot集成Swagger,并配置多个扫描路径
Spring boot集成Swagger,并配置多个扫描路径 1:认识Swagger Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目 ...
- webpack打包发布项目
1.打包 :npm run build 2.发布: 1)使用静态服务器工具包 npm install -g serve serve dist 访问:http://www.localhost.5000 ...
- Python基础入门一文通 | Python2 与Python3及VSCode下载和安装、PyCharm激活与安装、Python在线IDE、Python视频教程
目录 1. 关键词 2. 推荐阅读 2.1. 视频教程 3. 本文按 4. 安装 4.1. 视频教程 4.2. 资源下载 4.3. 安装教程 1. 关键词 Python2 与Python3及VSCod ...
- 10java进阶——IO2
1. Properties类 Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串. 特点: Hashtable的子 ...
- [Tvvj1391]走廊泼水节(最小生成树)
[Tvvj1391]走廊泼水节 Description 给定一棵N个节点的树,要求增加若干条边,把这棵树扩充为完全图,并满足图的唯一最小生成树仍然是这棵树.求增加的边的权值总和最小是多少. 完全图:完 ...
- [python 学习] 类
#!/usr/bin/python # -*- encoding:utf-8 -*- class Animal: animal_num = 0 class Dog(Animal): #类帮助文档 't ...
- django之配置文件setting.py
一:配置文件setting.py中的简单配置更改 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 简单解释 ...
- SpringBoot---异步消息
1.概述 1.1.SpringBoot 对 JMS 的自动配置 位于 org.springframework.boot.autoconfigure.jms下: 1.2.SpringBoot 支 ...
- export default{} 和 new Vue()都是什么意思
在生成.导出.导入.使用 Vue 组件的时候,有些新手就会常常被位于不同文件的 new Vue() 和 export default{} 搞得晕头转向.它们含义到底是什么,又有什么异同呢? 首先,Vu ...