zoukankan      html  css  js  c++  java
  • 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>

      

      

  • 相关阅读:
    uva 10369 Arctic Network
    uvalive 5834 Genghis Khan The Conqueror
    uvalive 4848 Tour Belt
    uvalive 4960 Sensor Network
    codeforces 798c Mike And Gcd Problem
    codeforces 796c Bank Hacking
    codeforces 768c Jon Snow And His Favourite Number
    hdu 1114 Piggy-Bank
    poj 1276 Cash Machine
    bzoj 2423 最长公共子序列
  • 原文地址:https://www.cnblogs.com/manliu/p/4682486.html
Copyright © 2011-2022 走看看