maven以及idea使用maven-創(chuàng)新互聯(lián)

一、maven概述

1、背景

一般項(xiàng)目開發(fā)中,我們開發(fā)的代碼需要依賴一些額外的庫(kù)。而解決這些依賴,我們都需要手動(dòng)從網(wǎng)上下載相應(yīng)的jar包,然后添加到項(xiàng)目中的 lib 目錄下作為第三方庫(kù)存在。而當(dāng)依賴很多的時(shí)候,這種方式是非常低效的。

創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷,包括做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營(yíng)銷策劃推廣、電子商務(wù)、移動(dòng)互聯(lián)網(wǎng)營(yíng)銷等。創(chuàng)新互聯(lián)為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)核心團(tuán)隊(duì)十載專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗(yàn),為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。

2、maven的作用

maven核心功能就是合理敘述項(xiàng)目間的依賴關(guān)系。通俗的說就是通過在pomxml文件指定依賴的項(xiàng)目,然后maven會(huì)自動(dòng)下載對(duì)應(yīng)的依賴,然后添加到項(xiàng)目中,無需手動(dòng)解決。

3、maven的倉(cāng)庫(kù)概念

? maven倉(cāng)庫(kù)分為本地倉(cāng)庫(kù)、第三方倉(cāng)庫(kù)(內(nèi)部私有倉(cāng)庫(kù))、中央倉(cāng)庫(kù)(網(wǎng)上共用倉(cāng)庫(kù))。
? 項(xiàng)目本身會(huì)先在本地倉(cāng)庫(kù)查找依賴,如果找不到就會(huì)到中央倉(cāng)庫(kù)下載到本地,然后使用。

4、maven java項(xiàng)目的結(jié)構(gòu)

使用maven創(chuàng)建java項(xiàng)目時(shí),目錄結(jié)構(gòu)會(huì)有所不同,目錄結(jié)構(gòu)如下:

project_name
    --pom.xml                   該項(xiàng)目的依賴配置文件
    --src
        --main
            --java              java源碼目錄
            --resources         資源目錄,包括圖片,配置文件等
        --test
            --java              測(cè)試java源碼目錄
            --resources         測(cè)試資源目錄
    --target                    編譯文件輸出目錄

5、pom.xml的依賴關(guān)系

前面已經(jīng)說到pom.xml用于配置項(xiàng)目的依賴。那么里面是如果描述依賴的呢,比如如何唯一確定依賴(也可以說是坐標(biāo))等。

如何獲取坐標(biāo)
一個(gè)依賴的坐標(biāo)有3個(gè)基本必須的關(guān)鍵字(還有不少其他關(guān)鍵字),分別是groupId、artifactId、version。配置一個(gè)依賴的基本格式如下:

<dependencies>   所有依賴都包含在這里面
    <dependency>
        <groupId>xxx</groupId>       一般為包名
        <artifactId>xxx</artifactId>  一般為項(xiàng)目名
        <version>xxx</version>        所需要的jar的版本,因?yàn)橐粋€(gè)項(xiàng)目可能有多個(gè)版本
    </dependency>
</dependencies>

一般來說,到中央倉(cāng)庫(kù)中找相應(yīng)的表以及項(xiàng)目,就可以找到完整的坐標(biāo)。

更為詳細(xì)的講解,請(qǐng)見:https://www.cnblogs.com/whgk/p/7112560.html

二、maven本身配置

maven的配置文件主要是 conf/settings.xml,配置內(nèi)容如下:

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

 <!--指定本地倉(cāng)庫(kù)路徑-->
<localRepository>F:\java_maven_repo</localRepository>

  <pluginGroups>

  </pluginGroups>

  <proxies>

  </proxies>

  <!-- servers
   | This is a list of authentication profiles, keyed by the server-id used within the system.
   | Authentication profiles can be used whenever maven must make a connection to a remote server.
   |-->
  <servers>

  </servers>

  <!-- 默認(rèn)中央倉(cāng)庫(kù)下載太慢,這里配置使用阿里云的倉(cāng)庫(kù) -->
  <mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
  </mirrors>

    <!--配置jdk版本的倉(cāng)庫(kù)-->
    <profiles>
        <profile>  
          <id>jdk-1.8</id>  
           <activation>  
             <activeByDefault>true</activeByDefault>  
             <jdk>1.8</jdk>  
           </activation>  
            <properties>  
                <maven.compiler.source>1.8</maven.compiler.source>  
                <maven.compiler.target>1.8</maven.compiler.target>  
                <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
            </properties>
        </profile>
    </profiles>
</settings>

三、配置IDEA使用maven

1、配置IDEA使用我們剛才配置的maven

File--setting--搜索maven ---點(diǎn)擊Maven -- 設(shè)置Maven Home Directory 為我們的上面設(shè)置的maven的目錄,同時(shí)修改User settings file為我們上面配置的 settings.xml.

注意:每次新建項(xiàng)目必須重新配置這里,否則會(huì)默認(rèn)還原。

2、配置maven系統(tǒng)環(huán)境變量

增加M2_HOME環(huán)境變量:
在系統(tǒng)環(huán)境變量中添加 M2_HOME=F:\apache-maven-3.3.9。然后保存即可。

將maven的bin目錄添加到 Path環(huán)境變量中:
%M2_HOME%\bin

3、配置maven中的依賴

在IDEA中創(chuàng)建maven工程,然后創(chuàng)建完后,點(diǎn)擊pom.xml進(jìn)行添加依賴。

4、maven中子模塊的使用

通常一個(gè)項(xiàng)目中,會(huì)有多個(gè)子項(xiàng)目,或者子模塊的存在。一般情況下,會(huì)先創(chuàng)建總的maven項(xiàng)目,然后在idea中可以通過右鍵添加模塊的方式來添加子模塊,并且在添加了子模塊之后,會(huì)在父項(xiàng)目中自動(dòng)生成子模塊的信息,如:

會(huì)在父maven項(xiàng)目中的pom.xml中生成modules標(biāo)簽

<modules>
        <module>ct_producer</module>
        <module>ct_consumer</module>
        <module>ct_analysis</module>
</modules>
這表示有三個(gè)子模塊,名字是 ct_producer、ct_consumer、ct_analysis

然后每個(gè)子模塊都有自己的pom.xml。在父項(xiàng)目的pom.xml中,寫入的依賴,是可以被所有子模塊使用的,但是子模塊中自己定義的依賴只能自己使用。
一般來說,我們會(huì)在父項(xiàng)目中引入所有子項(xiàng)目都需要的依賴,然后在子項(xiàng)目中引入自己的依賴。

另外一種使用方式是:
在父項(xiàng)目中聲明但不引入依賴,使用以下方式:

<dependencyManagement>
        <dependencies>

            這里是具體依賴
            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-library</artifactId>
                <version>${scala.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

當(dāng)子模塊中想要使用這個(gè)依賴,需要再次聲明,但是不再次指定依賴的版本。

<dependencies>
        <dependency>
            <groupId>org.scala-lang</groupId>
                <artifactId>scala-library</artifactId>
        </dependency>
</dependencies>

使用這種方式,能夠在父項(xiàng)目層次就指定依賴以及對(duì)應(yīng)的版本,可以規(guī)范整個(gè)項(xiàng)目公共依賴的版本,防止由于依賴不一致導(dǎo)致的問題

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

本文名稱:maven以及idea使用maven-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://muchs.cn/article16/djesgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、品牌網(wǎng)站建設(shè)、搜索引擎優(yōu)化微信小程序、云服務(wù)器、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司