maven项目标准目录结构

转载 2016年08月30日 09:24:43
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构建的时候生成的


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.xmlbuild.xml,另外还包括提供给最终用户的文件,如,README.txt,LICENSE.txt等等。

顶级目录还包括两个子目录:srctarget。顶级目录下可能出现的其他目录仅仅是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的构建生命周期也是可以扩展和自定义的,这里就先不做介绍了。


APACHE原址:http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html



java服务器端--maven项目--目录结构

前端时间和小伙伴们接了个小的项目,帮助同学搭建网页服务器。现在总结下学习到的东西: 首先,我用的是maven来管理jar包,不得不承认,用这个会经常出错,经常发生jar包冲突。不多说直接先说基础知识...
  • little_nai
  • little_nai
  • 2016年09月06日 11:17
  • 807

maven项目eclipse目录结构浅析

使用maven管理java web项目时,我们往往会被eclipse上展示的目录结构所迷惑,明明有个Java Resources包,为啥又冒出个src文件夹呢? 我们先看看整体的目录结构: ...
  • jiangzhongwei_
  • jiangzhongwei_
  • 2016年11月08日 11:14
  • 5335

Maven项目的目录结构

刚接触Maven没多长时间,实习时在的小公司很不规范,所有web项目都是dynamic web project搭建,没有用到项目构建,管理工具,导致了非常多的重复工作与低效。 先来看看Maven的功...
  • u011537073
  • u011537073
  • 2016年12月28日 12:06
  • 2822

maven下构建项目结构详解

Maven2下的非web项目 1. 初始化Maven2环境 下载页面:http://maven.apache.org/download.html 2. 配置环境变量,JAVA_HOME,M2...
  • foxhlc
  • foxhlc
  • 2013年03月27日 14:42
  • 16533

eclipse创建一个标准的maven web项目

附言: 转自:  http://tomfish88.iteye.com/blog/1142403 创建web工程,需要注意选择maven的类型:maven-archetype-webapp 正文...
  • s445320
  • s445320
  • 2016年02月18日 12:03
  • 1658

MAVEN创建多模块项目(水平与树形结构)

很久没有写过博客了,很多东西都在笔记里面,没有整理过。不太喜欢写没有经过自己消化和整理的知识,如果自己都没有搞明白,那还是不要写的好,免得误导其他同学。 这次写的内容主要就是使用MAVEN创建多模块的...
  • u012909091
  • u012909091
  • 2016年11月01日 23:09
  • 3768

maven(三):maven项目结构及其运行机制

在上一篇中讲了如何创建maven项目,现在回到那个项目 项目结构 src/main/java:java代码目录 src/main/resources:资源目录,比如spring.xml文件,...
  • wangb_java
  • wangb_java
  • 2017年01月02日 09:30
  • 3919

Eclipse Maven构建WebApp项目资源目录显示不全的原因与解决方式

一、问题展示        1、Eclipse在使用Maven构建WebApp项目的时候,首先Maven的安装和配置都没有问题的,但是构建项目之后,Maven项目要求的几个必须要有的资源目录显示不了...
  • MarcusGu
  • MarcusGu
  • 2016年11月08日 12:03
  • 9201

使用Maven构建Web项目的目录结构

转载自:http://www.myext.cn/webkf/a_11929.html 1.Web项目的目录结构     基于Java的Web项目,标准的打包方式是WAR。与JAR比较,...
  • meiliangdeng1990
  • meiliangdeng1990
  • 2015年12月03日 17:41
  • 9515

eclipse中Maven web项目的目录结构浅析

讲真,刚开始接触maven web项目的时候,相信很多人都会被它的目录结构迷惑。 为了避免菜鸟们遇到像我一样的困扰,我就从我纯正菜鸟的视角,来分析一下这个东西。 1,比如说,我们拿一个常见的目录结...
  • qq_28908085
  • qq_28908085
  • 2017年03月01日 15:24
  • 5566
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:maven项目标准目录结构
举报原因:
原因补充:

(最多只允许输入30个字)