Maven

ComTechnology - IDE - Maven

 

Maven

1.What is Maven?
Project Build/Management
project content 标准目录
基础jar包


Maven Project 自带的jar
如webapp的jar


character:
约定优于配置
maven为工程提供了合理的默认行为;
开发者不必要自己实现项目的构建过程;


推荐:自定义


function:
Maven 能够帮助开发者完成以下工作:
构建
文档生成
报告
依赖
SCMs
发布
分发
邮件列表


2.Environment
基于JDK
Maven 3.3 要求 JDK 1.7 或以上
Maven 3.2 要求 JDK 1.6 或以上
Maven 3.0/3.1 要求 JDK 1.5 或以上


Windows-设置bin
高级系统设置-环境变量
Maven_HOME:maven资源的URL
Path设置启动:...\bin


命令行验证:
java -version
mvn -version


3.POM-Project Object Model
pom.xml-gen content


基本组成:
工程组(groupId)组Id
项目名称(artifactId)人工Id
版本


project dependencies
plugins
goals
build profiles
project version
developers
mailing list


project 元素
三个必须的字段:groupId, artifactId,version
结构:{groupId:artifactId:version}


API-maven:getGroupId()/getArtifactId()/getVersion()
否则NullPointException


<project>-工程-gen element
  <modelVersion>4.0.0</modelVersion>-版本
  <groupId>...</groupId>-工程组
  <artifactId>...</artifactId>-项目名称
  <packaging>war</packaging>-包类型war/jar
  <version>0.0.1-SNAPSHOT</version>-版本
  <name>... Maven Webapp</name>
  <url>http://maven.apache.org</url>


  <!-- 集中定义依赖版本号 -->
    <properties>
      <junit.version>4.12</junit.version>
    </properties>
    <dependencyManagement> -依赖管理
      <dependencies> -根依赖
<!-- 单元测试 -->
<dependency> -子依赖/具体体现
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
  <version>${junit.version}</version> -EL表达式
  <scope>test</scope> -作用域:src-test-java/没有则默认整个工程
</dependency>
      </dependencies>
    </dependencyManagement>


    <build> -构建
      <finalName>...</finalName> -Project Name


      <plugins> -根插件
      <!-- 资源文件拷贝插件 -->
        <plugin> -子插件
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-resources-plugin</artifactId>
  <version>2.7</version>
  <configuration>
    <encoding>UTF-8</encoding>
  </configuration>
        </plugin>
      <!-- java编译插件 -->
        <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.2</version>
  <configuration>
    <source>1.7</source>
    <target>1.7</target>
    <encoding>UTF-8</encoding>
          </configuration>
        </plugin>
      </plugins>
      <pluginManagement>
<plugins>
<!-- 配置Tomcat插件 -->
  <plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
  </plugin>
 </plugins>
       </pluginManagement>
     </build>

</project>


总:
工程
依赖
构建






依赖:
属性/资源
版本号


依赖管理
根依赖Tag
子依赖Tag
{GroupId:ArtifactId:Version}






构建:
项目名称
插件


根插件
子插件
resources
compiler
{GroupId:ArtifactId:Version}


插件管理
根插件
子插件
server


4.Maven与Eclipse
Window-Preferences-Maven-UserSetting


maven-conf-settings.xml
<localRepository>...\app\maven\repository</localRepository>


repository地址设置


Maven Repository:
local-本地
central-中央
remote-远程


Maven Project Archetype-工程原型
Maven Dyanmic Web Project
{groupId:artifactId:version}
org.apache.maven.archetypes
maven-archetype-webapp
1.0


5.命令行创建/窗口创建

posted @ 2018-03-17 17:13  DedoChen  阅读(142)  评论(0编辑  收藏  举报