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项目标准目录结构相关推荐

  1. MAVEN项目标准目录结构 ;

    http://blog.csdn.net/lengyue_wy/article/details/6718637 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.标准目录结构: src -ma ...

  2. 解决IDEA修改已有项目为maven项目时目录结构被改变的问题

    Idea可以在项目根目录上右键选择"添加框架支持",选择maven,为项目添加Maven支持. 但这样会导致原有项目的目录结构被破坏. 更好的方法是在根目录添加pom.xml文件 ...

  3. maven项目的目录结构

    1.maven项目采用"约定优于配置"的原则: src/main/java:约定用于存放源代码, src/test/java:用于存放单元测试代码,(测试代码的包应该和被测试代码包 ...

  4. Maven标准目录结构(手写Maven项目)

    标准目录结构 手写Maven项目 src main test 执行命令 启动项目 标准目录结构 Maven标准目录结构为如下图 手写Maven项目 按照上面的结构图,我们就手写Maven项目 先来一个 ...

  5. Maven-学习笔记03【基础-Maven标准目录结构和常用命令】

    Java后端 学习路线 笔记汇总表[黑马程序员] 黑马程序员(腾讯微云)Maven基础讲义.pdf Maven-学习笔记01[基础-Maven基本概念] Maven-学习笔记02[基础-Maven的安 ...

  6. Maven精选系列--标准目录结构

    转载自 Maven精选系列--标准目录结构 Maven的目录结构和传统的项目有所差别,下面是一个jar包通常有的目录结构. src/main/java:源代码目录 src/main/resources ...

  7. angular 标准目录结构_Angular-cli新建项目目录结构详解

    Angular-cli新建项目目录结构详解 在上一篇博客中我们已经通过Angular CLI命令行工具创建出来一个全新的Angular项目,要想写项目,首先我们要先搞清楚项目的目录结构是怎样的,每个文 ...

  8. maven工程的标准目录结构

    Maven工程的目录结构 作为一个maven工程,它的src目录和pom.xml是必备的. 进入src目录后,我们发现它里面的目录结构如下: src/main/java -- 存放项目的.java文件 ...

  9. Eclipse JAVA项目的 目录结构 和 导入 import菜单使用

    Eclipse JAVA项目的 目录结构 和 导入 作者:jiabaoluo@stu.ouc.edu.cn 本文为作者原创,转载请注明出处:http://www.cnblogs.com/oucbl/p ...

  10. VC++2005项目的目录结构设置

    2019独角兽企业重金招聘Python工程师标准>>> VC++2005项目的目录结构设置 作者:flyfish 2010-03-23 星期二 为了方便程序的打包和代码转移,需要手动 ...

最新文章

  1. docker nginx部署前端项目
  2. 友盟-统计不到线上应用数据的坑
  3. SSH基本简介及连接交互过程
  4. linux下svn客户端安装及环境配置(转)
  5. spring_Spring Boot登录选项快速指南
  6. 信号处理:希尔伯特黄变换
  7. python Django基本介绍
  8. 建模步骤_古建设计 | sketchup建模步骤教程(简易入门版)
  9. kali linux查看网卡_CentOS7.6安装无线网卡驱动|Linux如何安装网卡驱动|Linux如何让配置网卡...
  10. 硅谷公司:我们称他们为软件工程师,而非打工人
  11. 12个C语言必背实例
  12. TextWatcher使用
  13. 快速启动工具入门——以Launchy为例(二)
  14. C程序设计(谭浩强版)第五章课后习题
  15. android 5.0 n,EMUI 5.0遭泄漏 基于Android N制作!华为P9用户有福啦
  16. 无须注册的云盘平台anonfile
  17. 剑指offer:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
  18. php中的时间戳_php时间戳是什么
  19. 【机器学习】简单理解精确度(precision)和准确率(accuracy)的区别
  20. fcpx插件:Stupid Raisins Grid Pop(网格弹出布局模板)

热门文章

  1. 锁屏界面提示某些设置已隐藏_OPPO手机忘记锁屏密码怎么办?教你一招轻松解开!...
  2. mysql 查询 一天的时间_MySQL怎么查询每天打卡的最早时间和最晚时间?
  3. python如何打开图片_python如何处理图片
  4. python 读取sheet_python实现读取excel文件中所有sheet操作示例
  5. PDF文件编辑方法:PDF怎么插入图片背景
  6. Linux 增加交换分区
  7. MyEclipse2014不支持jre1.8吗
  8. MATLAB实现频数直方图——hist的使用
  9. asp.net有效使用缓存(转)
  10. hbase shell基础和常用命令详解