MAVEN项目标准目录结构
1.标准目录结构:
src
-main
–bin 脚本库
–java java源代码文件
–resources 资源库,会自动复制到classes目录里
–filters 资源过滤文件
–assembly 组件的描述配置(如何打包)
–config 配置文件
–webapp web应用的目录。WEB-INF、css、js等
-test
–java 单元测试java源代码文件
–resources 测试需要用的资源库
–filters 测试资源过滤库
-site Site(一些文档)
target
LICENSE.txt Project’s license
README.txt Project’s readme
工程根目录下就只有src和target两个目录
target是有存放项目构建后的文件和目录,jar包、war包、编译的class文件等。
target里的所有内容都是maven构建的时候生成的
参照:http://breath.iteye.com/blog/1005447
++++++++++++++++++++++++++++++++++++++++++++
Maven项目的标准目录介绍
Maven提倡使用一个共同的标准目录结构,使开发人员能在熟悉了一个Maven工程后,对其他的Maven工程也能清晰了解。这样做也省去了很多设置的麻烦。
以下的文档介绍是Maven希望的目录结构,并且也是目录创建工程是采用的目录结构。Maven推荐大家尽可能的遵守这样的目录结构。
src/main/Java |
Application/Library sources |
src/main/resources |
Application/Library resources |
src/main/filters |
Resource filter files |
src/main/assembly |
Assembly descriptors |
src/main/config |
Configuration files |
src/main/webapps |
Web application sources |
src/test/java |
Test sources |
src/test/resources |
Test resources |
src/test/filters |
Test resource filter files |
src/site |
Site |
LICENSE.txt |
Project's license |
README.txt |
Project's readme |
在顶级目录上是工程的描述文件pom.xml(如果使用Ant则还包括其他属性文件,maven.xml或build.xml),另外还包括提供给最终用户的文件,如,README.txt,LICENSE.txt等等。
顶级目录还包括两个子目录:src,target。顶级目录下可能出现的其他目录仅仅是CVS或.svn和其他多模块工程的工程目录,最好不要再有其他目录。
Target目录是所有工程编译构建的输出目录。
Src目录包含所有工程的源码文件,配置文件,资源文件等等。它下面的子目录一般包含main(主要的工程源文件),test(测试文件),site(项目站点文件)。
项目构建的生命周期的介绍
Maven 2是围绕着构建生命周期概念设计的。这意味着,构建或者发布的过程已经被清晰的定义了。
当我们使用Maven构建工程时,我们只需要了解几个Maven定义好的命令即可,其他的工作则交给POM来完成。
以下给出Maven提供的构建生命周期列表:
validate |
validate the project is correct and all necessary information is available. |
generate-sources |
generate any source code for inclusion in compilation. |
process-sources |
process the source code, for example to filter any values. |
generate-resources |
generate resources for inclusion in the package. |
process-resources |
copy and process the resources into the destination directory, ready for packaging. |
compile |
compile the source code of the project. |
process-classes |
post-process the generated files from compilation, for example to do bytecode enhancement on Java classes. |
generate-test-sources |
generate any test source code for inclusion in compilation. |
process-test-sources |
process the test source code, for example to filter any values. |
generate-test-resources |
create resources for testing. |
process-test-resources |
copy and process the resources into the test destination directory. |
test-compile |
compile the test source code into the test destination directory |
test |
run tests using a suitable unit testing framework. These tests should not require the code be packaged or deployed. |
package |
take the compiled code and package it in its distributable format, such as a JAR. |
pre-integration-test |
perform actions required before integration tests are executed. This may involve things such as setting up the required environment. |
integration-test |
process and deploy the package if necessary into an environment where integration tests can be run. |
post-integration-test |
perform actions required after integration tests have been executed. This may including cleaning up the environment. |
verify |
run any checks to verify the package is valid and meets quality criteria. |
install |
install the package into the local repository, for use as a dependency in other projects locally. |
deploy |
done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects. |
因此,当我们构建一个项目时,只需要了解自己希望做什么,然后执行以上对应的生命周期即可。
例如,我们希望编译我们的工程。在命令行状态下进入到工程的pom.xml文件所在的目录中,使用命令:mvn compile;希望构建打包我们的工程,使用mvn package即可。
当然了,maven的构建生命周期也是可以扩展和自定义的,这里就先不做介绍了。
参照:http://hi.baidu.com/mylovechangchu/blog/item/fbda36da3644a6dfb6fd48d6.html
+++++++++++++++++++++++++++++++
APACHE原址:http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
转载于:https://www.cnblogs.com/wangxiaocong/p/7217147.html
MAVEN项目标准目录结构相关推荐
- MAVEN项目标准目录结构 ;
http://blog.csdn.net/lengyue_wy/article/details/6718637 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.标准目录结构: src -ma ...
- 解决IDEA修改已有项目为maven项目时目录结构被改变的问题
Idea可以在项目根目录上右键选择"添加框架支持",选择maven,为项目添加Maven支持. 但这样会导致原有项目的目录结构被破坏. 更好的方法是在根目录添加pom.xml文件 ...
- maven项目的目录结构
1.maven项目采用"约定优于配置"的原则: src/main/java:约定用于存放源代码, src/test/java:用于存放单元测试代码,(测试代码的包应该和被测试代码包 ...
- Maven标准目录结构(手写Maven项目)
标准目录结构 手写Maven项目 src main test 执行命令 启动项目 标准目录结构 Maven标准目录结构为如下图 手写Maven项目 按照上面的结构图,我们就手写Maven项目 先来一个 ...
- Maven-学习笔记03【基础-Maven标准目录结构和常用命令】
Java后端 学习路线 笔记汇总表[黑马程序员] 黑马程序员(腾讯微云)Maven基础讲义.pdf Maven-学习笔记01[基础-Maven基本概念] Maven-学习笔记02[基础-Maven的安 ...
- Maven精选系列--标准目录结构
转载自 Maven精选系列--标准目录结构 Maven的目录结构和传统的项目有所差别,下面是一个jar包通常有的目录结构. src/main/java:源代码目录 src/main/resources ...
- angular 标准目录结构_Angular-cli新建项目目录结构详解
Angular-cli新建项目目录结构详解 在上一篇博客中我们已经通过Angular CLI命令行工具创建出来一个全新的Angular项目,要想写项目,首先我们要先搞清楚项目的目录结构是怎样的,每个文 ...
- maven工程的标准目录结构
Maven工程的目录结构 作为一个maven工程,它的src目录和pom.xml是必备的. 进入src目录后,我们发现它里面的目录结构如下: src/main/java -- 存放项目的.java文件 ...
- Eclipse JAVA项目的 目录结构 和 导入 import菜单使用
Eclipse JAVA项目的 目录结构 和 导入 作者:jiabaoluo@stu.ouc.edu.cn 本文为作者原创,转载请注明出处:http://www.cnblogs.com/oucbl/p ...
- VC++2005项目的目录结构设置
2019独角兽企业重金招聘Python工程师标准>>> VC++2005项目的目录结构设置 作者:flyfish 2010-03-23 星期二 为了方便程序的打包和代码转移,需要手动 ...
最新文章
- docker nginx部署前端项目
- 友盟-统计不到线上应用数据的坑
- SSH基本简介及连接交互过程
- linux下svn客户端安装及环境配置(转)
- spring_Spring Boot登录选项快速指南
- 信号处理:希尔伯特黄变换
- python Django基本介绍
- 建模步骤_古建设计 | sketchup建模步骤教程(简易入门版)
- kali linux查看网卡_CentOS7.6安装无线网卡驱动|Linux如何安装网卡驱动|Linux如何让配置网卡...
- 硅谷公司:我们称他们为软件工程师,而非打工人
- 12个C语言必背实例
- TextWatcher使用
- 快速启动工具入门——以Launchy为例(二)
- C程序设计(谭浩强版)第五章课后习题
- android 5.0 n,EMUI 5.0遭泄漏 基于Android N制作!华为P9用户有福啦
- 无须注册的云盘平台anonfile
- 剑指offer:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
- php中的时间戳_php时间戳是什么
- 【机器学习】简单理解精确度(precision)和准确率(accuracy)的区别
- fcpx插件:Stupid Raisins Grid Pop(网格弹出布局模板)
热门文章
- 锁屏界面提示某些设置已隐藏_OPPO手机忘记锁屏密码怎么办?教你一招轻松解开!...
- mysql 查询 一天的时间_MySQL怎么查询每天打卡的最早时间和最晚时间?
- python如何打开图片_python如何处理图片
- python 读取sheet_python实现读取excel文件中所有sheet操作示例
- PDF文件编辑方法:PDF怎么插入图片背景
- Linux 增加交换分区
- MyEclipse2014不支持jre1.8吗
- MATLAB实现频数直方图——hist的使用
- asp.net有效使用缓存(转)
- hbase shell基础和常用命令详解