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.

  • 相关阅读:
    统计nginx日志里访问次数最多的前十个IP
    while 格式化输出 运算符 字符编码
    Python 软件安装
    Python 基础
    Typora 基础的使用方法
    Django ORM (四) annotate,F,Q 查询
    Django 惰性机制
    Django ORM (三) 查询,删除,更新操作
    Django ORM (二) 增加操作
    Django ORM (一) 创建数据库和模型常用的字段类型参数及Field 重要参数介绍
  • 原文地址:https://www.cnblogs.com/frankdeng/p/9568582.html
Copyright © 2011-2022 走看看