posts - 6,  comments - 15,  trackbacks - 0
               摘要: 使用maven2 構建 Webapp應用程序
          基于以下框架:spring,hibernate,webwork.2.2.2  閱讀全文
          posted @ 2006-04-21 10:09 jbob 閱讀(2618) | 評論 (6)編輯 收藏
          13 jar包依賴
          我們在mvn install后在local repo中生成的jar包也可以被其他項目所引用
          <dependency>
          ??????
          <groupId>com.mycompany.app</groupId>
          ??????
          <artifactId>my-app</artifactId>
          ??????
          <version>1.0-SNAPSHOT</version>
          ??????
          <scope>compile</scope>
          </dependency>
          注意scope,這里是compile,如果使用junit,scope是test.

          舉例說明
          如果我們的project需要用到log4j包,那么我們可以先google--"site:www.ibiblio.org maven2 log4j".
          Index of /maven2/log4j/log4j? 下面有maven-metadata.xml 描述了groupId,artifactId,version等等。
          獲取了這些信息之后,你就可以在pom.xml中添加依賴了
          <dependency>
          ??????
          <groupId>log4j</groupId>
          ??????
          <artifactId>log4j</artifactId>
          ??????
          <version>1.2.12</version>
          ??????
          <scope>compile</scope>
          </dependency>

          14 如何發布我的jar包到我的remote repository
          你需要在setting.xml中間設置server
          <servers>
          ????
          <server>
          ??????
          <id>mycompany-repository</id>
          ??????
          <username>jvanzyl</username>
          ??????
          <!--?Default?value?is?~/.ssh/id_dsa?-->
          ????
          <privateKey>/path/to/identity</privateKey>????????
          ??????? ?
          <passphrase>my_key_passphrase</passphrase>
          ????
          </server>
          </servers>
          然后在pom.xml中設置遠程url
          <distributionManagement>
          ????
          <repository>
          ??????
          <id>mycompany-repository</id>
          ??????
          <name>MyCompany?Repository</name>
          ?????
          <url>scp://repository.mycompany.com/repository/maven2</url>
          ????
          </repository>
          ??
          </distributionManagement>
          posted @ 2006-03-28 20:07 jbob 閱讀(1496) | 評論 (4)編輯 收藏

          9 安裝[install]
          mvn install
          會將package之后的jar包copy到
          <local-repository>/com/mycompany/app/my-app/1.0-SNAPSHOT/my-app-1.0-SNAPSHOT.jar

          10 其他
          mvn site
          ?注意:還可以deploy site
          ?在pom.xml中加入

          ? < distributionManagement >
          ???
          < site >
          ?????
          < id > website </ id > ???
          ?????? ?
          < url > scp://www.mycompany.com/www/docs/project/ </ url >
          ???
          </ site >
          ?
          </ distributionManagement >


          當然你需要設置server
          mvn site-deploy
          mvn clean
          mvn idea:idea [為IDE工具idea生成項目文件]

          11 Resource
          ${basedir}/src/main/resources都會編譯到jar文件中
          而${basedir}/src/main/resources 下的內容會直接位于jar文件的頂部
          測試用資源文件-> ${basedir}/src/test/resources
          引用時參照此例:
          InputStream is = getClass().getResourceAsStream( "/test.properties" );
          文件位于 ${basedir}/src/test/resources/test.properties。

          12 如何filter我們的資源文件
          在pom.xml中修改:

          < build >
          ????
          < resources >
          ??????
          < resource >
          ????????
          < directory > src/main/resources </ directory >
          ????????
          < filtering > true </ filtering >
          ??????
          </ resource >
          ????
          </ resources >
          ??
          </ build >


          因為原來默認的filter為false所以要加上上面的代碼
          e.g
          我們在src/main/resources下面建立application.properties文件
          ?# application.properties
          ?application.name=${pom.name}
          ?application.version=${pom.version}
          運行:mvn process-resources
          在target/classes下面,
          application.properties:
          ?# application.properties
          ?application.name=Maven Quick Start Archetype
          ?application.version=1.0-SNAPSHOT
          這就是所謂的filter.
          當然filter還可以用其他的外部文件,不一定來自pom.xml[ ${pom.name} ]以及setting.xml[ ${settings.localRepository }]
          e.g
          src/main/filters/filter.properties
          ?# filter.properties
          ?my.filter.value=hello!
          pom.xml

          ?? < build >
          ????
          < filters >
          ??????
          < filter > src/main/filters/filter.properties </ filter >
          ????
          </ filters >
          ????
          < resources >
          ??????
          < resource >
          ????????
          < directory > src/main/resources </ directory >
          ????????
          < filtering > true </ filtering >
          ??????
          </ resource >
          ????
          </ resources >
          ??
          </ build >


          # application.properties
          application.name=${pom.name}
          application.version=${pom.version}
          message=${my.filter.value}
          這樣在運行mvn process-resources 會得到類似的效果。

          當然我們也可以直接在pom.xml中定義:

          < build >
          ????
          < resources >
          ??????
          < resource >
          ????????
          < directory > src/main/resources </ directory >
          ????????
          < filtering > true </ filtering >
          ??????
          </ resource >
          ????
          </ resources >
          ??
          </ build >
          ??
          < properties >
          ????
          < my .filter.value > hello </ my.filter.value >
          ??
          </ properties >


          效果同樣,這樣就不需要外部文件了

          另外filter還可以來自系統設置以及可以自定義:
          # application.properties
          java.version=${java.version}
          command.line.prop=${command.line.prop}

          posted @ 2006-03-28 14:46 jbob 閱讀(1490) | 評論 (0)編輯 收藏

          接上期

          1. ..
          2. ..
          3. ..
          4. ..
          5. 建立新的項目
            mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
            首先,程序會從遠程下載必要的jar包到你的localRepository,即我們剛剛設置的[d:/repo]
            然后,會在當前目錄下面生成my-app文件夾,包括簡單的包結構[java,test]和一個HelloWorld程序及測試。
            以及pom.xml文件。
            注意:pom.xml contains the Project Object Model (POM) for this project.
            The POM is the basic unit of work in Maven。
          6. 編譯
            mvn compile
            第一次運行會下載很多jar包。而且機器負荷會很重。
            運行這個命令需要在pom.xml相同目錄下面
            這個編譯指揮編譯主程序,不會編譯test下面的程序。
            如果需要單獨編譯test,請運行 mvn test-compile
            compile之后會生成target文件夾,主程序編譯在classes下面,測試程序放在test-classes下
          7. 測試
            mvn test. 會自動先編譯在運行測試
          8. 打包
            mvn package
            打包之前會進行編譯,測試




          posted @ 2006-03-26 22:29 jbob 閱讀(779) | 評論 (0)編輯 收藏

          maven 是一個java項目管理工具,深化了ant,但又有自己一整套的項目集成策略。
          目前的版本是2.0.2

          1. 下載maven 2 [鏈接],解壓縮。
          2. 配置環境變量,maven_home, path
          3. cmd-> mvn --version 檢查是否安裝成功 [顯示版本號,則說明安裝成功]
          4. 配置
            Maven的配置分為三個層次


            Project - pom.xml,針對某個項目的配置
            Installation
            User -針對某個用戶的配置


            我們首先配置主要是user級別的,主要包括兩點
            設置本地的資源庫和代理服務器[如果需要的話]
            在%maven_home%/conf/setting.xml中配置:

            <localRepository>d:/repo</localRepository>?

            <proxy>
            ??
            <id>proxy1</id>
            ??
            <active>true</active>
            ??
            <protocol>http</protocol>
            ??
            <username></username>
            ??
            <password></password>
            ??
            <host>222.136.91.1</host>
            ??
            <port>80</port>
            ??
            <nonProxyHosts></nonProxyHosts>
            </proxy>


            修改之后copy一份到${home}/.m2 [最新版本不需要此步驟]



          Technorati :

          posted @ 2006-03-25 23:06 jbob 閱讀(1265) | 評論 (0)編輯 收藏
          僅列出標題  

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          生活感悟

          順手

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 天全县| 平泉县| 鹤岗市| 益阳市| 鸡西市| 怀安县| 德安县| 喜德县| 达日县| 肥西县| 河池市| 黄陵县| 肃北| 武安市| 临西县| 甘泉县| 神农架林区| 莱西市| 曲靖市| 沅江市| 福鼎市| 无为县| 保亭| 井冈山市| 孙吴县| 丰宁| 芦山县| 岫岩| 临邑县| 台东县| 万载县| 潮州市| 黄骅市| 福建省| 弥勒县| 南投县| 无锡市| 霍山县| 诏安县| 无棣县| 美姑县|