(转)Maven项目标准目录结构

场景:工作中的项目都是使用Maven的目录结构,虽然能够如期的完成开发工作,但是对于一个Maven工程的配置却并不熟悉,这里主要介绍下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

++++++++++++++++++++++++++++++++++++++++++++

1.1 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(项目站点文件)。

1.2 项目构建的生命周期的介绍

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 Javaclasses.


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

1.3 Maven工程添加新文件夹

新建立的Maven工程是没有resources文件夹的,需要自己去创建。

步骤分为两步:

1、在src的main和test目录下分别建立resources文件夹

2、按照下图所示添加即可

时间: 2024-12-26 10:20:29

(转)Maven项目标准目录结构的相关文章

MAVEN项目标准目录结构 ;

http://blog.csdn.net/lengyue_wy/article/details/6718637 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.标准目录结构: src -main –bin 脚本库 –java java源代码文件 –resources 资源库,会自动复制到classes目录里 –filters 资源过滤文件 –assembly 组件的描述配置(如何打包) –config 配置文件       – webapp web应用的目录.WEB-INF.css.j

Android MAVEN项目标准目录结构

1.标准目录结构: src -main      –bin 脚本库      –java java源代码文件      –resources 资源库,会自动复制到classes目录里      –filters 资源过滤文件      –assembly 组件的描述配置(如何打包)      –config 配置文件      –webapp web应用的目录.WEB-INF.css.js等  -test      –java 单元测试java源代码文件      –resources 测试需要

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

Maven项目的目录结构+maven的安装与配置

1.首先下载maven,然后配置环境变量,在MyEclipse里面配置maven 2.配置maven的pom.xml文件 3.下载和更新资源 右击项目,有一个Maven4Myeclipse,里面有三个我们用到的选项 1.download resource: 下载pom文件配置的资源 2.update dependencies :更新依赖 3.update project configuration:更新maven的文件 Maven目录结构: 首先构建一个Maven项目,网上有很多介绍,就不重复了

Idea中新建maven项目的目录结构

maven项目的目录结构如下所示 pom.xml文件内容如下所示 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http

maven项目的目录结构

1.maven项目采用"约定优于配置"的原则: src/main/java:约定用于存放源代码, src/test/java:用于存放单元测试代码,(测试代码的包应该和被测试代码包结构保持一致,方便测试查找) src/target:用于存放编译.打包后的输出文件. 这是全世界maven项目的通用约定,请记住这些固定的目录结构. ├───src│   ├───main│   │   └───java│   │       └───cnblogs│   └───test│       └─

新建标准mavenWeb工程以及Maven的web应用标准目录结构建议

到现在为止,使用Maven结构的Web工程越来越多,因此在此介绍一下通过Maven来构建项目的相关知识.     文档主要分为两部分:       1.如何通过maven来构建多模块的web项目       2.标准的maven项目的目录结构:(springMVC+mybatis).     1.如何通过maven来构建多模块的web项目       1)创建父工程 创建完成之后结构如下: 修改POM.xml文件,内容如下: <project xmlns="http://maven.apa

Maven 标准目录结构

Maven 标准目录结构 好的目录结构可以使开发人员更容易理解项目,为以后的维护工作也打下良好的基础.Maven2根据业界公认的最佳目录结构,为开发者提供了缺省的标准目录模板.Maven2的标准目录结构如下: 使用目录模板,可以使 pom.xml 更简洁.因为 Maven2 已经根据缺省目录,预定义了相关的动作,而无需人工的干预.以 resources 目录为例: src/main/resources,负责管理项目主体的资源.在使用Maven2执行compile之后,这个目录中的所有文件及子目录

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

1.Web项目的目录结构     基于Java的Web项目,标准的打包方式是WAR.与JAR比较,包含更多的内容,比如JSP文件.Servlet.Java类.web.xml配置文件.依赖JAR包.静态web资源(HTML.CSS.JavaScript)等. 一个典型的WAR文件如下目录结构: File-system代码 -war/      + META-INF/      + WEB-INF/      |  + classes/      |  |  + ServletA.class