Maven入门

1.创建项目

  这里介绍的是利用命名行创建,还可使用Eclipse等IDE工具创建,网上可以搜到很多创建方法。

  (1).cd 到需要构建项目的目录。

  (2).执行命令:mvn archetype:genarate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-webapp

  这里需要了解几个名词:

    groupId、artifactId、archetypeArtifactId、interactiveMode

  maven中groupId、artifactId、version三个元素可以确定一个具体的项目,同样我们自己创建项目时也需要填写项目的这三个元素,其中groupId一般为公司或组织的url反写,如org.apache.maven;artifactId为项目名称或模块名称,如spring-orm模块,version为版本好,创建时默认为0.0.1--SNAPSHOT。archetypeArtifactId为项目骨架(模板),有点类似建大楼前先确定楼房的骨架一样,maven有非常多的方式可供选择,默认是maven-archetype-quickstart,通常会选择maven-archetype-webapp,这个骨架可自动生成一个标准的web项目结构。

2.标准maven项目目录

src/main/java    程序源文件
src/main/resources    程序资源文件
src/main/filters    资源筛选器文件
src/main/config    配置文件
src/mian/scripts    脚本资源文件
src/main/webapp    Web应用程序源
src/test/java            测试源文件
src/test/resources    测试资源文件
src/test/filters            测试资源筛选器文件
src/it                      集成测试 (主要是插件)  
src/assembly          装配描述   
src/site                    网站

3.编译项目

  mvn compile

4.测试

  mvn test

  mvn test-compile(只编译测试源代码,不执行)

5.打包

  mvn package (文件类型为pom.xml中<packaging>设置的类型)

6.将打包好的jar包安装到本地仓库

  mvn install

7.清理编译的源代码

   mvn clan

8.生成站点

  mvn site

9.筛选资源文件

  maven默认的属性:这些默认属性可以在项目所有的资源文件或配置文件中使用

    ${pom.name}  项目名称

    ${pom.version}  项目版本

    ${pom.build.finalName}  最后打包生成的文件名

    ${user.home}

    ${env.X}  返回shell的环境变量,也就是我们在系统环境变量里配的名称,如${env.PATH} 返回PATH的值。

    ${project.X}  返回POM.xml中指定元素的值,如${project.encoding}返回定义的字符集

    ${java.home}  返回java系统属性,可以通过java.lang.System.getProperties()访问的所有属性都都可用作为 POM 属性

    ${settings.offline} 返回setting.xml中指定元素的值

    ${key}  在pom.xml的<properties />元素中定义的内容,都可以使用这种方式读取

<directory>${project.basedir}/target</directory>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
<finalName>${project.artifactId}-${project.version}</finalName>
<testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>

 

  如果我们要自定义一些属性,可以把这些属性放到一个properties文件或者直接在pom.xml的<properties/>中定义,放置在src/main/filters/目录中,然后在pom.xml中引入

<build>
    <filters>
      <filter>src/main/filters/filter.properties</filter>
    </filters>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
    </resources>
  </build><build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
    </resources>
  </build>
 
  <properties>
    <my.filter.value>hello</my.filter.value>
  </properties>

 

 

 

  

  

posted @ 2015-07-28 13:07  lavel  阅读(320)  评论(0编辑  收藏  举报