項目管理工具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.0\conf\settings.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.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM