日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Maven Dependency设置,详解!

發(fā)布時間:2023/12/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Maven Dependency设置,详解! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

come from : http://www.javaeye.com/topic/240424

用了Maven,所需的JAR包就不能再像往常一樣,自己找到并下載下來,用IDE導(dǎo)進去就完事了,Maven用了一個項目依賴 (Dependency)的概念,用俗話說,就是我的項目需要用你這個jar包,就稱之為我的項目依賴你這個包,換句話說,你這個JAR包就是我這個項目的Dependency。

????? 于是很多人在剛用Maven的時候,就會在加Dependency時栽跟頭,明明我手頭上就有需要的JAR嘛,它偏不讓我用,什么道理,跟著就是生悶氣,少點耐性的,就會說Maven怎么怎么不爽,其實,如果你理解了Maven的一些機制,一些配置及管理的流程,就會覺得它其實很爽。

????? 我暫且不談Maven的長篇概念(其實我也還很多很多不懂),我先給大家介紹一個簡單的查找方法,讓你很快地找到所需的Dependency,并配置到你的pom.xml里面去。

最快捷方法:

GOOGLE搜索:maven 你需的jar包名稱 repository

比如我要做EJB,我要找jboss-j2ee.jar的Dependency

就在GOOGLE里輸入

maven jboss-j2ee repository

在結(jié)果的第一條,進去你就可以在頁面里找到下面這段

<dependency>
??? <groupId>jboss</groupId>
??? <artifactId>jboss-j2ee</artifactId>
??? <version>4.0.2</version>
</dependency>

你把上面這段代碼貼到你的Maven項目的pom適當(dāng)?shù)奈恢萌?#xff0c;然后運行maven,Maven就會自動下載所需的jar及相關(guān)的pom信息,你不用管它,Maven會幫你下載,并放到適當(dāng)?shù)奈恢谩?/p>

我再舉幾個查找實例,讓大家熟悉一下怎么搜索

下面我要找 struts.jar

在GOOGLE里輸入

maven struts repository

就很快可以找到下面這段代碼

<dependency>
??? <groupId>struts</groupId>
??? <artifactId>struts</artifactId>
??? <version>1.2.9</version>
</dependency>

我還要找hibernate

在GOOGLE輸入

maven hibernate repository

在結(jié)果的第一條記錄出現(xiàn)了很多個不同的hibernate鏈接(因為有很項目用了hibernate嘛)我們就選用org.hibernate的,看起來專業(yè)點嘛,呵呵

<dependency>
??? <groupId>org.hibernate</groupId>
??? <artifactId>hibernate</artifactId>
??? <version>3.2.6.ga</version>
</dependency>

好了,SSH可不能少了中間那個S,Spring嘛

在GOOGLE里輸入

maven spring repository

在第一個結(jié)果進去,我們這次選擇org.springframework的,

<dependency>
??? <groupId>org.springframework</groupId>
??? <artifactId>spring</artifactId>
??? <version>2.5.5</version>
</dependency>

????? 其它的我就不一一舉例了,大家自己試試,其實這個方法可以解決大多數(shù)常用包的Dependency查找,不用專門記那些repository下載站的網(wǎng)址嘛,不過始終這是非正規(guī)做法,其它要想更好地找到想要的Dependency,還是得了解maven repository是啥玩意,它的local repository庫概念,以及怎樣建立自己自己repository服務(wù)器(這個我還不太熟,這里就不講了,大家自己去其它地方找相關(guān)資料,免得被我誤導(dǎo)了)

????? Maven的repository,說白了就是dependency的倉庫,它按照一定的規(guī)則將dependency存放起來,以作緩存,如果本機的 repository找不到某個dependency,它就會自動去找到網(wǎng)上其它相關(guān)聯(lián)的repository,找到的話將其下載至本地,那么下次它就不再去其它地方下載了,直接從本地獲取。

本地的repository在哪可找到?

默認(rèn)repository地址:當(dāng)前用戶的私人目錄 + .m2

如果你設(shè)置了Maven目錄下的conf/setting.xml的local repository屬性,則不再是默認(rèn)的repository地址,而使用你指定的地址。

找到下面這段,將它復(fù)制一份,放到注釋外面,改成你自己的repository路徑即可

<localRepository>c:/mvn repository/</localRepository>

Maven按什么規(guī)則去存放Dependency?

下面我們來拿hibernate來作例子,以介紹在Maven運行并下載到所需的Dependency后怎么緩存到本地的repository

下面這個是hibernate的Dependency配置

<dependency>
??? <groupId>org.hibernate</groupId>
??? <artifactId>hibernate</artifactId>
??? <version>3.2.6.ga</version>
</dependency>

它被下載后將會被存放至

%repository%/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.jar

其中%repository%就是你本地的repository目錄!

不知大家看出來了沒有,它是按你的Dependency的groupid + artifactid + version,然后以點號作分隔,來建立文件夾的,最后建立的文件夾如下

|--org

??? |--hibernate

??????? |--hibernate

??????????? |--3.2.6.ga

??????????????? |--hibernate-3.2.6.ga.jar

可能會有些人會問那個jar包的名字是怎么來的,細(xì)心的人或許早己觀察出來了,沒錯,就是artifactId + "-" + version + ".jar"。

好了,下面我們按這個規(guī)則去找一下另外一個Dependency放在哪吧

<dependency>

??? <groupId>com.google.gwt</groupId>

??? <artifactId>gwt-servlet</artifactId>

??? <version>1.4.61</version>

</dependency>

我們現(xiàn)在根據(jù)之前所講的規(guī)則,先進入你的本地repository目錄,然后進入com目錄,再進入google目錄,再進入gwt目錄,再進入 gwt-servlet目錄,再進入1.4.61目錄,跟著你就可以發(fā)現(xiàn)一個名叫g(shù)wt-servlet-1.4.61.jar和其它一些文件了大家試試看吧!《注意:你在首次使用這個Dependency時,一定要運行Maven,讓它去下載到需要的包,下載成功后你才能按上面的步驟找到,不然你找不到別亂罵我,你都沒下載的話,肯定找不到了:(?????? 》

????? 在你掌握這個技巧之后,有很多時候你可以根據(jù)所需包的package路徑,自己摸它的Dependency,這個就不詳談了,總之你了解后,找Dependency不會成問題的,非常簡單的事

????? 這個時候,就有另一些用戶會提出疑問,我要用的jar包是我自己開發(fā)的,或是朋友,或是網(wǎng)友傳來的,在網(wǎng)上根據(jù)找不到,怎么在Maven里面使用它們呢? 其實辦法是肯定有的,而且也不難,也是常常要用到的,下面我來簡單介紹一下幾個方法:

前提,肯定是你先寫到pom里面去,組織隨你寫,artifact 寫你的jar名,或者隨便寫,version你也寫上你想要的,如

<dependency>

??? <groupId>com.mydomain.ooooo</groupId>

??? <artifactId>my-jar</artifactId>

??? <version>100.1.1</version>

</dependency>

一、用好你的IDE!

????? 現(xiàn)在大家用的IDE,無非就是Eclipse,或者netbeans,或是JBuilder,據(jù)我所知,現(xiàn)在大部份人都向前兩者轉(zhuǎn)移,這些IDE都提供了對Maven的支持,不過通常都需要你裝插件才能打開并使用Maven的項目,怎么裝maven插件我就不介紹了,大家自己上網(wǎng)找找別人寫的文章吧。在你裝好插件后,通常會有一個libraies目錄,里面列出你項目要用到的jar包,你右鍵點擊本地還沒有添加進去的jar包,選擇本地安裝(Manually install artifact),選中你那個特殊的jar包,然后IDE會自動調(diào)用maven插件完成整個安裝配置過程,下次你就不再這樣子做了,因為你本地 repository己經(jīng)有了。

二、手動將jar包放到本地repository里面去

根據(jù)先前介紹的maven repository存放規(guī)則,自己建好目錄,改好jar的文件名,自己拷進去,如

進到你本地的repository目錄

建一個com文件夾,點進去

再建一個mydomain文件夾,點進去

再建一個ooooo文件夾,點進去

再建一個my-jar文件夾,點進去

再建一個100.1.1文件夾,點進去

再把你的jar包,改名為my-jar-100.1.1.jar,放到100.1.1文件夾里面去,

?????? 然后運行你的maven項目,看看它會不會build成功,事實上如果你之前做的文件夾沒錯,大小寫沒問題,或沒其它小失誤,你的項目就可以正常用到你自己的jar包了

三、直接到http://repo1.maven.org/maven2/ 查找

????? 不過這也需要你知道m(xù)aven repository的存放規(guī)則才知道怎么在網(wǎng)站上找,找到你還得自己寫dependency的配置代碼,本人不常來這里找。不過各有所好,大家選擇合適自己的

總結(jié)

以上是生活随笔為你收集整理的Maven Dependency设置,详解!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。