zoukankan      html  css  js  c++  java
  • 【手把手教你Maven】构建过程

    下载

    目前高版本的Eclipse已经集成了Maven,但是考虑到插件的稳定性,还是推荐使用自己安装的Maven(需要在Eclipse中进行绑定)。

    手动安装需要在官网下载Maven,目前最新的版本是3.3.9:http://maven.apache.org/download.cgi

    一般windows下的用户下载这个zip就可以了,如果要学习源码,可以下载src那版的。

    安装

    1 首先需要安装JDK,在命令行中输入java -version验证版本:

    2 然后解压下载好的压缩包:

    3 配置环境变量

    在“环境变量”中配置:

    M2_HOME:xxxx/apache-maven-3.3.9
    
    在path中添加:";%M2_HOME%/bin"

    4 在命令行中输入 mvn -v测试

    编写

    如果使用过Ant都知道Ant是通过build.xml执行构建任务的,Maven中是通过pom.xml来执行任务。

    POM,project object model,即项目对象模型,它通过这个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.apache.org/POM/4.0.0 
        http://maven.apache.org/maven-v4_0_0.xsd"> 
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.xinoo.test</groupId>
        <artifactId>first-maven</artifactId>
        <version>1.0-SNAPSHOT</version>
        <name>First Maven Project</name>
    </project>
    复制代码

    第一行指定了文档的XML版本和编码

    第二行即每个pom.xml的核心元素——project

    project下面有几个子元素,这几个子元素一般是每个项目都会使用到的:

    1 modelVersion  这个元素指定了POM的版本,Maven2或者Maven3 都只能是4.0.0

    2 groupId 是项目组的ID,一般是com.公司组织名.项目名

    3 artifactId 是该项目在项目组中的ID,比如当前的项目是项目组的一个代理项目,就可以叫做myproxy

    4 version 是项目的版本号,用于维护项目的升级和发布

    5 name 一般没有实际的用处,只是用于标识该项目

    比较重要的参数是 groupId、artifactId、version,这三个属性确定唯一的一个项目。

    执行任务

    一般的Maven项目会包含这样一个目录树:

    project
        |-src--main--java--你的源代码
        |    |--test----java--你的单元测试代码
        |-target--编译出的文件和jar包
        |-pom.xml--项目信息以及任务定义

    因此我们在上面的pom.xml同级目录中,创建

    src/main/java/com/xingoo/test/firstmaven 文件夹

    然后再该文件夹中创建HelloWorld.java

    复制代码
    package com.xingoo.test.firstmaven;
    
    public class HelloWorld{
        public String sayHello(){
            return "Hello Maven";
        }
        public static void main(String[] args){
            System.out.println(new HelloWorld().sayHello());
        }
    }
    复制代码

    然后再pom.xml所在的目录中运行mvn clean compile命令:

    会发现目录中多了一个target文件夹,文件夹中增加了两个文件夹:

    其中classes中是java编译出的class文件、maven-status是依赖的compile插件。

    参考

    【1】最后的任务执行样例:百度云盘文件mvn1127.zip

    【2】《Maven实战》:百度云盘文件Maven实战教程

  • 相关阅读:
    SoapUI开源版简单定制报告1
    python json模块 字典 输出中文
    Django文件上传机制用法详解(转)
    选择排序
    插入排序
    Python单元测试框架 unittest
    Design Pattern —— Prototype /Template Method/Iterator/Composite/Bridge
    Design Pattern ——Factory Method&Abstract Factory
    Design Pattern ——Builder
    JAVA泛型那些事儿
  • 原文地址:https://www.cnblogs.com/soundcode/p/6364820.html
Copyright © 2011-2022 走看看