春風(fēng)博客

          春天里,百花香...

          導(dǎo)航

          <2007年6月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          統(tǒng)計(jì)

          公告

          MAIL: junglesong@gmail.com
          MSN: junglesong_5@hotmail.com

          Locations of visitors to this page

          常用鏈接

          留言簿(11)

          隨筆分類(224)

          隨筆檔案(126)

          個(gè)人軟件下載

          我的其它博客

          我的鄰居們

          最新隨筆

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          我的Maven2之旅:七.加載第三方開(kāi)源庫(kù)

          java程序調(diào)用一堆第三方庫(kù)是很常見(jiàn)的事情,例子程序中就調(diào)用了網(wǎng)上常見(jiàn)庫(kù)jdom讀取xml文件.
          package com.sitinspring;

          import java.io.InputStream;
          import java.util.Iterator;
          import java.util.List;

          import org.jdom.Document;
          import org.jdom.Element;
          import org.jdom.input.SAXBuilder;

          public class Inlet{
              
          public static void main(String[] arg){    
                  
          try{
                      SAXBuilder builder
          =new SAXBuilder ();
                      InputStream is 
          =Inlet.class.getResourceAsStream( "/testfile.xml" );
                      Document doc
          =builder.build(is);

                      Element root
          =doc.getRootElement();
                      List ls
          =root.getChildren();

                      
          for(Iterator it=ls.iterator();it.hasNext();){
                         Element elm
          =(Element )it.next();
                         System.out.println(elm.getName());
                      }
           
                  }

                  
          catch(Exception ex){
                      ex.printStackTrace();
                  }

              }

          }

          如何讓Maven工程也能找到Jdom庫(kù)呢,很簡(jiǎn)單,添加一個(gè)dependency節(jié)點(diǎn)就能做到,詳情請(qǐng)見(jiàn)下列代碼的jdom處.
          <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation
          ="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
            
          <modelVersion>4.0.0</modelVersion>
            
          <groupId>com.sitinspring</groupId>
            
          <artifactId>Maevn3ndPart</artifactId>
            
          <packaging>jar</packaging>
            
          <version>1.0-SNAPSHOT</version>
            
          <name>Maevn3ndPart</name>
            
          <url>http://maven.apache.org</url>
            
          <dependencies>
              
          <dependency>
                
          <groupId>junit</groupId>
                
          <artifactId>junit</artifactId>
                
          <version>3.8.1</version>
                
          <scope>test</scope>
              
          </dependency>
              
          <dependency>
                
          <groupId>jdom</groupId>
                
          <artifactId>jdom</artifactId>
                
          <version>1.0</version>
                
          <scope>compile</scope>
              
          </dependency>
            
          </dependencies>
          </project>
          然后執(zhí)行Mvn compile就可以看見(jiàn),Maven從網(wǎng)上下載了jdom庫(kù)到本地的repository目錄,請(qǐng)看下圖.


          將dependency節(jié)點(diǎn)和repository中jdom路徑對(duì)比就可以知道,dependency節(jié)點(diǎn)中g(shù)roupId對(duì)應(yīng)路徑中第一層目錄,artifactId對(duì)應(yīng)第二層,version對(duì)應(yīng)第三層,而scope用于編譯則是compile.這些發(fā)現(xiàn)我們以后還將用到.

          本文例程:
          http://www.aygfsteel.com/Files/sitinspring/Maevn3ndPart20070621133225.zip

          附錄:
          Dependency Scope

          在POM 4中,<dependency>中還引入了<scope>,它主要管理依賴的部署。目前<scope>可以使用5個(gè)值:

          • compile,缺省值,適用于所有階段,會(huì)隨著項(xiàng)目一起發(fā)布。
          • provided,類似compile,期望JDK、容器或使用者會(huì)提供這個(gè)依賴。如servlet.jar。
          • runtime,只在運(yùn)行時(shí)使用,如JDBC驅(qū)動(dòng),適用運(yùn)行和測(cè)試階段。
          • test,只在測(cè)試時(shí)使用,用于編譯和運(yùn)行測(cè)試代碼。不會(huì)隨項(xiàng)目發(fā)布。
          • system,類似provided,需要顯式提供包含依賴的jar,Maven不會(huì)在Repository中查找它。

          posted on 2007-06-21 09:40 sitinspring 閱讀(2713) 評(píng)論(0)  編輯  收藏 所屬分類: Maven2之旅

          sitinspring(http://www.aygfsteel.com)原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處.
          主站蜘蛛池模板: 慈利县| 兴城市| 昌平区| 东阳市| 中牟县| 丽水市| 安阳市| 襄垣县| 修水县| 阿荣旗| 吉首市| 松潘县| 神农架林区| 旌德县| 宁乡县| 黄龙县| 海晏县| 榆中县| 保山市| 镇平县| 江阴市| 高淳县| 临泉县| 四子王旗| 崇文区| 高陵县| 平乐县| 东阳市| 新绛县| 拉萨市| 永登县| 漳州市| 临沧市| 无锡市| 炉霍县| 玛沁县| 大名县| 浙江省| 湖口县| 泸定县| 长顺县|