zoukankan      html  css  js  c++  java
  • 项目管理工具Maven的安装与使用

    一.Maven的简介

    1. 什么是maven

    Apache下的一个开源的项目,是纯java编写,并且只是用来管理java项目。

    2. Maven的好处

    • maven项目管理jar节省磁盘空间
    • 一键构建,可以用一个命令(tomcat:run)让项目运行起来
    • 可以跨平台
    • 应用于大型项目时可以提高开发效率

    3. maven的三种仓库

    二.Maven的安装配置

    1.下载

    官网下载地址:https://archive.apache.org/dist/maven/maven-3/

    把压缩包拷贝到一个没有中文没有空格的目录中,直接解压到当前目录

    Maven的结构

    Maven的核心配置文件 settings.xml

    2. 配置本地仓库

     <!-- localRepository
       | The path to the local repository maven will use to store artifacts.
       |
       | Default: ${user.home}/.m2/repository
      <localRepository>/path/to/local/repo</localRepository>
      -->

     修改自定义仓库路径

    3. 配置环境变量

    电脑-属性-高级系统设置-高级-环境变量-系统变量  添加MAVEN_HOME

    加到path中

     

    4.验证是否安装成功

    Win +R 打开cmd窗口,执行mvn -v命令,看到如下界面表示成功:注意:Maven 3.3+需要执行JDK 1.7或更高版本。

    三.Maven命令周期

    1. maven工程目录结构

    2. Maven命令

    进入到工程中(项目文件目录中)cmd窗口

    编译: mvn compile

    测试: mvn test

    打包:package

    打包到本地仓库中 :mvn install

    3. Maven的生命周期

    声明周期是由每个阶段组成:Compile   test   package  install  deploy

    4. 各个生命周期的关系

    不同的生命周期命令可以同时执行   

    Mvn clean package    mvn package clean    Mvn test package 

    5. 生产环境打包测试命令

    1) 项目打包方式

    如果在 eclipse 中,则需要如下 maven 参数进行打包:

    -P local clean package:不打包第三方依赖
    -P dev clean package install:打包第三方依赖

    如果在 idea 中,则需要在 maven project 视图中双击选择如下package按钮进行打包。打包完成会在项目taget目录产生一个项目jar包。

    Windows 上测试: java -cp cm_producer-1.0-SNAPSHOT.jar   主函数全类名  本地目录/文件名

     Linux 中进行测试:编写 bash 脚本:sh productlog.sh

    #!/bin/bash
    java -cp /home/admin/call/cm_product-1.0-SNAPSHOT.jar product.ProductLog /home/admin/call/calllog.csv

    四.构建Maven工程

    1.IDEA关联Maven

    2.创建maven工程

    1、 创建的是一个简单的maven项目,需要做的是勾选图示所示的“Create From Archetype”复选框,在下面的下拉选项中我们选择“quickstart”,之后点击【Next】

     

    2、 填写maven的坐标,“groupId”,“artifactId”,以及“version”,其中groupId是公司域名的反写,而artifactId是项目名或模块名,而version就是该项目或模块所对应的版本号。

    3、 填写项目名称,然后flish完成。

    五.Maven常用插件

    1.配置编译版本

    在pom.xml中添加如下代码:指定项目编译使用的jdk

    <build>
    <!-- 配置了很多插件 -->
            <plugins>
    <!-- 配置maven项目编译插件,即jdk --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>

    2. 编译跳过测试

    具体用法说明参考:http://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-tests.html

    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.0</version>
          <configuration>
            <skipTests>true</skipTests>
          </configuration>
        </plugin>
      </plugins>
    </build>

    3. 日志插件

    <properties>
          <slf4j.version>1.7.25</slf4j.version>
          <log4j.version>1.2.17</log4j.version>                
    </properties>
    <!-- log start -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
    </dependency>        
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.version}</version>
    </dependency>

    4. 单元测试

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>

    5. 常用阿里组件

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.47</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>dubbo</artifactId>
        <version>2.6.2</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.10</version>
    </dependency>

    6. 数据库连接组件

    <!-- mysql  start  -->
    <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
       <version>5.1.38</version>
    </dependency> 
    <!-- redis  start  -->
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>2.9.0</version>
    </dependency>

    更多插件说明参考:https://www.cnblogs.com/heaven1025/p/6195825.html

    六.Maven常用错误

    1.下载更新jar包速度慢

    使用maven时更改使用阿里云的镜像,在apache-maven-3.5.0confsettings.xml中添加国内阿里镜像

    <mirrors>
        <!-- 阿里云仓库 -->
        <mirror>
            <id>alimaven</id>
            <mirrorOf>central</mirrorOf>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
        </mirror>
        <!-- 中央仓库1 -->
        <mirror>
            <id>repo1</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo1.maven.org/maven2/</url>
        </mirror>
        <!-- 中央仓库2 -->
        <mirror>
            <id>repo2</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo2.maven.org/maven2/</url>
        </mirror>
    </mirrors> 

    2.

  • 相关阅读:
    摄像头标定GML Camera Calibration
    joda.money.Money
    aop the less note 1
    good notes
    yingyu biji 1
    flowable note1
    activiti note1
    CET4/6
    Web应用界面好帮手!DevExtreme React和Vue组件全新功能上线
    Web UI开发推荐!Kendo UI for jQuery自定义小部件——处理事件
  • 原文地址:https://www.cnblogs.com/frankdeng/p/9568582.html
Copyright © 2011-2022 走看看