<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Picses' sky

    Picses' sky
    posts - 43, comments - 29, trackbacks - 0, articles - 24

    使用maven[zz]

    Posted on 2007-07-20 22:27 Matthew Chen 閱讀(534) 評(píng)論(0)  編輯  收藏 所屬分類: Build Project
    使用maven
    2007-02-25 16:38

    maven的好處就不多說了,它在項(xiàng)目管理方面比Ant有較多優(yōu)勢(shì)?,F(xiàn)簡(jiǎn)要說明一下相關(guān)配置和用法。

    首先當(dāng)然是去apache網(wǎng)站去下載了。我下載的是1.0.2解壓版,把其解壓至D盤(當(dāng)然這是任意的)。

    配置:1. MAVEN_HOME:D:\maven-1.0.2
          2. Path:%MAVEN_HOME%\bin
    如圖:

    這樣就配置好了,然后我們?nèi)我饨ㄒ粋€(gè)目錄,在命令提示符下進(jìn)入這個(gè)目錄,執(zhí)行如下命令:maven genapp,一路回車,就建立了一個(gè)簡(jiǎn)單的java工程,如何使其變?yōu)镮DE工具idea支持的工程呢,只要執(zhí)行maven idea即可。這里需要說明,必須把D:\maven-1.0.2\plugins下的maven-idea-plugin-1.5.jar換為maven-idea-plugin-1.6.jar,不然系統(tǒng)會(huì)找不到對(duì)應(yīng)的modul,其實(shí)就是找不到對(duì)應(yīng)的JDK。呵呵。其他的一些goal命令,可以慢慢學(xué)習(xí)。并且在maven.xml中可以擴(kuò)展自己的goal命令。

    怎么讓maven輸出信息支持中文呢?.在lib目錄中找到maven-core-2.0.4.jar在org/apache/maven/messages目錄中找到messages_zh_CN.properties文件,把其拷貝到C:/,運(yùn)行命令提示符,在C:/下執(zhí)行如下語句:native2ascii messages\messages_zh_CN.properties>out.properties,這樣在C盤下就生成了out.properties,把其更名為:messages_zh_CN.properties,把其拷貝到maven.jar文件中即可。這樣maven的輸出信息就不會(huì)是亂碼了,而是完整的中文,呵呵。

    maven的依賴管理
    maven對(duì)項(xiàng)目依賴的庫(kù)文件進(jìn)行集中管理,所有庫(kù)文件都以一定結(jié)構(gòu)存放在repository中,并用artifactId,groupId, version三個(gè)屬性來標(biāo)示它們。當(dāng)項(xiàng)目需要某些庫(kù)文件時(shí),只要指明這三個(gè)屬性即可。庫(kù)文件在repository中存儲(chǔ)結(jié)構(gòu)也和這三個(gè)屬性緊密相關(guān),其關(guān)系為${mave.repo.remote}//s/ -.。也就是假定repository的根目錄為/javarepository那么 groupId為spring,artifactId為spring-orm,版本(version)為1.1.3的jar的庫(kù)文件的存儲(chǔ)路徑為 /javarepository/spring/jars/spring-orm-1.1.3.jar。
    maven的repository通常放在對(duì)公眾開放的主機(jī)上,并由眾多的鏡像構(gòu)成,最主要的是http://www.ibiblio.org/maven/。選擇哪些repository是通過 Java系統(tǒng)變量maven.repo.remote。比如下面的配置maven.repo.remote=http://ultra/maven/, http://www.ibiblio.org/maven/,http://boss.bekk.no/maven/,http://mirrors.sunsite.dk/mavenhttp://www.ganet.org/maven將使maven從www.ibiblio.org,boss.bekk.no, mirrors.sunsite.dk,www.ganet.org四個(gè)站點(diǎn)依次尋找依賴的文件。該變量可以在四個(gè)地方設(shè)置:

    ${project.home}/project.properties 
    ${project.home}/build.properties 
    ${user.home}/build.properties 
    -D maven命令行, 
    其優(yōu)先級(jí)依次升高。通常在${maven.home.local}/build.properties中設(shè)置此變量。

    使用代理
    如果你只能通過代理訪問,不要緊,Maven為你提供了下列屬性: 

    代理屬性 描述 
    maven.proxy.host 代理的IP地址  
    maven.proxy.port 代理端口  
    maven.proxy.username 如果代理需要認(rèn)證的話,在這里填寫用戶名。 User name if your proxy requires authentication.  
    maven.proxy.password 如果代理需要認(rèn)證的話,在這里填寫密碼。  

    如果你實(shí)在需要代理,最好在${user.home}/build.properties文件中指定。 

    ## ----------------------------------------------------------
    ## ${user.home}/build.properties
    ## ----------------------------------------------------------
    .
    .
    maven.proxy.host = my.proxyserver.com
    maven.proxy.port = 8080
    maven.proxy.username = username
    maven.proxy.password = password
    .
    .
    使用多個(gè)遠(yuǎn)程Repositories
    你可以在任何Maven可以處理的屬性文件中指定使用多個(gè)遠(yuǎn)程Repositories,如: 

    maven.repo.remote = http://www.ibiblio.org/maven /,http://www.mycompany.com/maven/ 
    項(xiàng)目設(shè)置

    下面列舉一些常用的goal命令
    >> maven jar 打jar包,不過執(zhí)行這個(gè)goal,mavan test和maven java:compile也會(huì)被執(zhí)行。
    >> 當(dāng)然也可以分開執(zhí)行:maven test 單元測(cè)試 maven java:compile 編譯工程
    >> maven -Dmaven.test.skip jar 這樣可以跳過單元測(cè)試不執(zhí)行,直接打jar包,節(jié)約時(shí)間。
    >> -D,--define arg   定義一個(gè)系統(tǒng)屬性
    >> -E,--emacs        輸出簡(jiǎn)潔的日志信息
    >>  -X,--debug        輸出debug信息
    >>  -b,--nobanner     禁止 logo banner
    >>  -d,--dir arg      設(shè)置指定的工作目錄
    >>  -e,--exception    輸出異常堆棧信息
    >>  -f,--find arg     通過搜尋項(xiàng)目文件來確定執(zhí)行的項(xiàng)目文件及其工作目錄
    >>  -g,--goals        顯示可用的目標(biāo)
     >> -h,--help         顯示幫助信息
    >>  -i,--info         顯示系統(tǒng)信息
    >>  -o,--offline      離線構(gòu)建
    >>  -p,--pom arg      指定項(xiàng)目文件
    >>  -v,--version      顯示版本號(hào)

    maven 的dependency 寫法
    <dependencies>
      <dependency>
        
    <groupId>springframework</groupId>
        
    <artifactId>spring-web</artifactId>
        
    <version>1.1.4</version>
      
    </dependency>

      <dependency>
        
    <groupId>jstl</groupId>
        
    <artifactId>jstl</artifactId>
        
    <version>1.1.2</version>
        <type>jar</type>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>

      <dependency>
        <groupId>dwr</groupId>
        <artifactId>dwr</artifactId>
        <jar>dwr.jar</jar>
        <properties>
          <war.bundle>true</war.bundle>
        </properties>
      </dependency>

    </dependencies>
    上面是三種dependency的寫法,第一種最簡(jiǎn)單,不推薦使用,第二種是比較標(biāo)準(zhǔn)的寫法,第三種是沒有版本號(hào)情況下的寫法。其目錄結(jié)構(gòu)如下(以第二種情況舉例):
    - repository
      - jstl                       (1)
        - jars
            jstl-1.1.2.jar         (2)
            jstl-1.1.2.jar.md5

    可以看出(1)處對(duì)應(yīng)著dependency中的gruopId(2)處對(duì)應(yīng)${artifactId}-${vsersion}.jar ,maven就是根據(jù)這種對(duì)應(yīng)關(guān)系來定位依賴文件的。如果在本地的repository未找到與dependencies中定義的依賴文件,則會(huì)自動(dòng)從mavenrepository站點(diǎn)中下載。Dependency中的<war.bundle>true</war.bundle>表示在執(zhí)行maven war操作時(shí)該依賴文件將會(huì)復(fù)制到wepappWEB-INF/lib目錄下。

    注:本地repository的默認(rèn)路徑為:%HOMEDRIVE%%HOMEPATH%\.maven\repository

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲黑人嫩小videos| 亚洲伊人久久大香线蕉结合| 国产亚洲色婷婷久久99精品| 暖暖免费中文在线日本| 国产亚洲精AA在线观看SEE| 0588影视手机免费看片| 特级毛片A级毛片免费播放| 精品国产麻豆免费网站| 亚洲а∨天堂久久精品9966| 亚洲国产一区二区三区| 免费观看国产网址你懂的| 特级aa**毛片免费观看| 亚洲午夜电影在线观看高清| 亚洲av麻豆aⅴ无码电影| 无码毛片一区二区三区视频免费播放 | 亚洲精品综合久久| 亚洲综合免费视频| 51午夜精品免费视频| 国产色在线|亚洲| 久久精品国产亚洲沈樵| 四虎影视大全免费入口| 久久久久久久久久国产精品免费| 亚洲AV无码不卡无码| 国产精品自在自线免费观看| 亚洲免费视频网站| 二级毛片免费观看全程| 亚洲熟女乱色一区二区三区| 四虎www免费人成| 99热这里有免费国产精品| 一进一出60分钟免费视频| 久久精品国产精品亚洲蜜月| 又粗又大又长又爽免费视频| 黄页网站在线观看免费高清| 看一级毛片免费观看视频| 亚洲导航深夜福利| 色噜噜综合亚洲av中文无码| 中文字幕一精品亚洲无线一区| 国产又大又长又粗又硬的免费视频| 波多野结衣中文字幕免费视频| 无码天堂va亚洲va在线va| 亚洲欧洲无码AV电影在线观看 |