maven构建simple project

打开Eclipse->File->New->Ohter(如图1新建maven)或者按Ctrl+N的热键进入新建选项,css

image图1 新建mavenjava

找到Maven文件夹或者在Wizards输入Maven会出现(如图2选择新建MavenProject),选中Maven Project 点next,web

image图2 选择新建MavenProjectspring

看到(如图3:建立一个新的Maven project)有3个选项,分别是apache

Create a simple project (skip archetype selection) :建立一个简单的项目(跳过对原型模板的选择)[默认勾选]浏览器

User default Workspace location:使用本地默认的工做空间服务器

--Loaction:本地工做空间目录eclipse

Add project(s) to working set :增长项目到工做集ssh

image图3  建立一个新的Maven projectmaven

若是要按照本身的想法建立项目的话,能够选择第1个,第二个的话是根据Maven设置中Archetypes来选择对应的原型模板,第三个是能够把把其余项目引入到当前工做目录(没有限制是不是maven项目).

Advanced(高级)(如图4:新建Maven项目高级选项):

image  图4 新建Maven项目高级选项

该选项正如上面的意思所说解决工做空间中的项目 Profiles(因为我项目中没有用到该高级属性,暂时只能大概猜想一下其功能,若是谁知道的话麻烦留言谢谢)大概跟setting中的<profiles>标签对应,而Name template对应的是Eclipse中所建立Maven2项目的名称,也就是你那个项目的groupId,artifcatId那个.

把第二个勾去掉,这里首先带你们建立一个项目,勾选第一个,而后按next,会出现(如图5:简单项目)

image图5 简单项目

Artifact(神器?)

-------Group Id:组Id,针对一个项目的广泛惟一识别符。至关于咱们平常使用的包名,例如:org.lxh

-------Artifact Id:要新建的项目的名字

-------Version:版本号,默认0.0.1-SNAPSHOT

-------Packing:要将该项目生成什么类型,有jar,war,ejb,ear,rar,pom,maven-plugin,maven-archetype,osgi-bundle,eclipse-plugin

-------Name:名字(估计是模板的名字)

-------Description:说明

Parent Project(父项目)以以前的项目做为基础新建项目,点Browse出现(如图6:选择项目),能够以原有的项目做为基础新建,必须为Jar或者pom才行

image图6选择项目

Advanced(高级)[如图7:simple project 的高级选项]高级选项同新建maven project时候刚开始的功能是同样的,因此就很少叙述了

如图7simple project 的高级选项

输入(如图8:开始建立Maven Project)信息后出现(如图9:添加依赖项目),点击Add出现(如图10:输入依赖项目名称)输入相应你须要的Jar包,例如org.springframework,maven会根据你所输入的Group Id或者Artifact Id优先搜寻默认的远程中央仓库(http://repo1.maven.org/maven2)

图8开始建立Maven Project         

image图9 添加依赖项目

image图10 输入依赖项目名称               

 

 

 

 

 

 

选择相应的依赖项目,会最早显示目前最新版本,或者你能够单击选择其余版本(如图11:选择其余版本依赖项目),选中后(如图12:选中项目后的列表),最后按finish而后,maven会从远处服务器中讲所选的依赖项目下载到本地仓库中.

image如图11 选择其余版本依赖项目

image

如图12 选中项目后的列表

最后生成的项目(如图13:生成后的maven项目)分别有如下几个目录

image图13 生成后的maven项目

src/main/java:主要编码的目录

src/main/resource:资源目录.如:spring的xml.Java配置properties

src/test/java:测试的代码

src/test/resource:测试的资源.如:spring的xml.Java配置properties

JRE System Library:Java运行环境,默认JavaSE1.4,须要修改,若是要统一更改的话请更改setting.xml中的文件,

setting.xml以下(详细请参考文章---修改Maven项目的编译级别[http://gzyangfan.spaces.live.com/blog/cns!6AC933E7557ED503!471.entry]):

<profile>
        <id>jdk-1.6</id>
        <activation>
          <activeByDefault>true</activeByDefault>
            <jdk>1.6</jdk>
       </activation>
        <properties>
           <maven.compiler.source>1.6</maven.compiler.source>
            <maven.compiler.target>1.6</maven.compiler.target>
           <maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>
       </properties>
  </profile>

Maven Dependencies:Maven的依赖项目,包括该项目下的依赖包

src:对应src/main/java与src/test/java的class文件夹.

target:目标文件生成,例如要将项目生成jar就会生成到这个目录下

pom.xml:maven项目的配置文件.

对于pom.xml其标签说明以下:

1. parent 给出父项目的位置,若是存在上一级父项目的话。若是没有特别指出的话,值就是父项目对于当前项目而言。位置是一个 as a group ID, artifact ID 和version元素的组合。
2.modelVersion 描述这个POM文件听从哪一个版本的项目描述符.
3.groupId 针对一个项目的广泛惟一识别符。一般用一个彻底正确的包的名字来与其余项目的相似名字来进行区分(好比:org.apache.maven)
4.artifactId 在给定groupID 的group里面为artifact 指定的标识符是惟一的 artifact 表明的是被制做或者被一个project应用的组件。对于Maven项目的artifact 的例子包括:一些JARs, 原代码以及二进制的发布以及WARs.
5.packaging 这个项目生产出来的artifact 类型,举个例子 jar war pom Plugins 可以建立他们本身的包,包括包的类型,因此这个列表不可能包含全部可能的类型
6.name 当前项目的全称
7.version 当前项目产生的artifact的当前版本
8.description 当前项目的一个细节描述,当须要描述这个项目的时候被Maven所用,好比在web 站点中。 这个元素可以被指定为CDATA 类型,容许在描述器中HTML的tags, 并不鼓励用空白文原本表示。 若是你须要去修改生成的web 站点的索引页,你可以用你本身的索引来代替自动生成的文本。
9.url 当前项目的主页的URL
10.prerequisites 描述当前项目的编译环境的先决条件
11.issueManagement 当前项目的发布管理信息。
12.ciManagement 当前项目的连续集成信息。
13.inceptionYear 当前项目开始的年份, 用4位数字描述. 涉及到介绍状况时用做提供版权信息
14.mailingLists 包含的信息包括邮件列表
15.developers 描述当前的项目的开发人员的信息
16.contributors 描述对当前项目有贡献的人员的信息,不特指开发人员
17.licenses 这个元素描述了当前项目的全部的许可文件。每个许可文件用一个许可元素来描述,而后描述额外的元素. 一般只列出适用于这个项目的许可文件以及适用于 依赖的非licenses。若是多个licenses都列出来了,那么假设这个用户选择其中的所需的,而不是接受全部的许可文件。
18.scm 指定当前项目中的版本控制工具,好比CVS, Subversion, 等等。
19.organization 这个元素描述这个项目所属组织的各类属性的描述。这些属性应用于文档建立的时候 (版权通知和连接).
20.build 建立项目时必须的信息。
21.profiles 本地项目编译档案文件时的列表,被激活时会修改build的过程
22.modules 模块 (有时被叫作子项目)做为当前项目的一部分.每个被列出来的子模块都指向包含这个模块的目录文件的相对路径
23.repositories 发现依赖和扩展的远程资源库
24.pluginRepositories 发现plugins 的远程资源库的列表,主要是为了编译和报告
25.dependencies 这个元素描述了全部与当前项目相关的依赖.这些依赖被用做建立一个编译时的路径. 他们被自动的从资源库中下在下来依据当前项目的定义。如需更多信息,参看 the dependency mechanism
26.reports Deprecated.禁止适用。如今的版本中被 Maven所忽略掉。
27.reporting 这个元素包括报告的plugins 的指定,用做Maven生成站点的自动生成报告.这些报告将会运行当用户执行mvn site. 全部的报告将会包括在浏览器的导航栏中。
28.dependencyManagement 缺省的依赖信息将会从这个元素中继承。这些依赖在这一部分中被不马上被解决的。当一个源于这个POM的元素描述了一个依赖根据匹配的 groupId 和artifactId,这个部分的版本和其余值用做那些尚未指定的依赖。
29.distributionManagement 对于一个项目分配的信息容许对于远程web服务器和资源库的site和artifacts配置。
30.properties属性能够做为POM的自始自终的替换物,若是可行的话能够用做resources 的过滤器,格式是<name>value</name>

相关文章
相关标签/搜索