一般項(xiàng)目開(kāi)發(fā)中,我們開(kāi)發(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)開(kāi)發(fā),積累了豐富的網(wǎng)站經(jīng)驗(yàn),為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。maven核心功能就是合理敘述項(xiàng)目間的依賴關(guān)系。通俗的說(shuō)就是通過(guò)在pomxml文件指定依賴的項(xiàng)目,然后maven會(huì)自動(dòng)下載對(duì)應(yīng)的依賴,然后添加到項(xiàng)目中,無(wú)需手動(dòng)解決。
? 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ù)下載到本地,然后使用。
使用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 編譯文件輸出目錄
前面已經(jīng)說(shuō)到pom.xml用于配置項(xiàng)目的依賴。那么里面是如果描述依賴的呢,比如如何唯一確定依賴(也可以說(shuō)是坐標(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>
一般來(lái)說(shuō),到中央倉(cāng)庫(kù)中找相應(yīng)的表以及項(xiàng)目,就可以找到完整的坐標(biāo)。
更為詳細(xì)的講解,請(qǐng)見(jiàn):https://www.cnblogs.com/whgk/p/7112560.html
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>
File--setting--搜索maven ---點(diǎn)擊Maven -- 設(shè)置Maven Home Directory 為我們的上面設(shè)置的maven的目錄,同時(shí)修改User settings file為我們上面配置的 settings.xml.
注意:每次新建項(xiàng)目必須重新配置這里,否則會(huì)默認(rè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
在IDEA中創(chuàng)建maven工程,然后創(chuàng)建完后,點(diǎn)擊pom.xml進(jìn)行添加依賴。
通常一個(gè)項(xiàng)目中,會(huì)有多個(gè)子項(xiàng)目,或者子模塊的存在。一般情況下,會(huì)先創(chuàng)建總的maven項(xiàng)目,然后在idea中可以通過(guò)右鍵添加模塊的方式來(lái)添加子模塊,并且在添加了子模塊之后,會(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中,寫入的依賴,是可以被所有子模塊使用的,但是子模塊中自己定義的依賴只能自己使用。
一般來(lái)說(shuō),我們會(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èn)題
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+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://jinyejixie.com/article16/djesgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容