夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
          轉自:http://blog.csdn.net/lovingprince/article/details/4973247

          maven 讓您的構建不是一般的爽,下面就看看怎么樣讓maven工作起來。

           

          第一步,做好安裝maven前的準備工作,首先安裝JDK5或者jdk6.這一步比較簡單,學java的同學應該都會,不羅嗦了,檢驗JDK是否安裝好,可以輸入如下命令后回車(windows系統)

           

           

          第二步,下載maven并進行安裝,maven下載地址http://maven.apache.org/download.html ,本文下載的是apache-maven-2.2.0-bin.zip 。下載后解壓至當前目錄,我的解壓地址D:/apache-maven-2.2.0-bin。

          設置兩個比較重要的環境變量。

           

          1. M2_HOME= D:/apache-maven-2.2.0-bin/apache-maven-2.2.0  
          2.   
          3. PATH=%PATH%;%M2_HOME%/bin  
            

           

           

          驗證你的安裝是否正確,則在cmd 下輸入 mvn –v .如果出現Maven的版本信息,則表示安裝成功,否則,仔細檢查你的環境變量設置是否正確。

           

          安裝后maven的目錄結構如下:

           

          bin目錄包含了運行Maven的mvn腳本。 boot目錄包含了一個負責創建Maven運行所需要的類裝載器的JAR文件。 conf目錄包含了一個全局的settings.xml文件,該文件用來自定義你機器上Maven的一些行為。如果需要自定義Maven,更通常的做法是覆寫 %home%/.m2目錄下的settings.xml文件,每個用戶都有對應的這個目錄。lib目錄有了一個包含Maven核心的JAR文件。 另外,默認情況下,maven會將本地倉庫存貯在%home%/.m2/repository/下,當你從遠程Maven倉庫下載依賴的時候,Maven在你本地倉庫存儲了這個依賴的一個副本,如果你要改變這個位置,那么你得修改settings.xml文件。例如將路徑修改到D盤 ,則修改節點 <localRepository>d:/repository</localRepository>,設置后別忘了設置環境變量 M2_REPO= d:/repository .

          第三步、創建一個簡單web 項目玩玩。

               Cmd 下,鍵入命令

           

          1. mvn archetype:create -DgroupId=com.taobao.maven -DartifactId=maven-webapp -DpackageName=com.taobao.maven.web -DarchetypeArtifactId=maven-archetype-webapp  

           

           

          執行命令后顯示信息如下:

           

          1. [INFO] Scanning for projects...  
          2.   
          3. [INFO] Searching repository for plugin with prefix: 'archetype'.  
          4.   
          5. [INFO] artifact org.apache.maven.plugins:maven-archetype-plugin: checking for updates from central  
          6.   
          7. Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.po   
          8.   
          9.    
          10.   
          11. Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype/2.0-alpha-4/maven-archetype-2.0-alpha-4.pom   
          12.   
          13.    
          14.   
          15. Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.ja   
          16.   
          17.    
          18.   
          19. [INFO] ------------------------------------------------------------------------  
          20.   
          21. [INFO] Building Maven Default Project  
          22.   
          23. [INFO]    task-segment: [archetype:create] (aggregator-style)  
          24.   
          25. [INFO] ------------------------------------------------------------------------  
          26.   
          27. Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.pom   
          28.   
          29.    
          30.   
          31. Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-alpha-6/wagon-file-1.0-alpha-6.pom   
          32.   
          33.    
          34.   
          35. Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-providers/1.0-alpha-6/wagon-providers-1.0-alpha-6.pom   
          36.   
          37.    
          38.   
          39. Downloading: http://repo1.maven.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.pom   
          40.   
          41.    
          42.   
          43. Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.pom   
          44.   
          45.    
          46.   
          47. Downloading: http://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.pom   
          48.   
          49.    
          50.   
          51. Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker/2.0.6/maven-invoker-2.0.6.pom   
          52.   
          53.    
          54.   
          55. Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.jar   
          56.   
          57. Downloading: http://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.jar   
          58.   
          59. Downloading: http://repo1.maven.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.jar   
          60.   
          61. Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker/2.0.6/maven-invoker-2.0.6.jar   
          62.   
          63. Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar   
          64.   
          65. [INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.  
          66.   
          67. [INFO] Setting property: velocimacro.messages.on => 'false'.  
          68.   
          69. [INFO] Setting property: resource.loader => 'classpath'.  
          70.   
          71. [INFO] Setting property: resource.manager.logwhenfound => 'false'.  
          72.   
          73. [INFO] [archetype:create {execution: default-cli}]  
          74.   
          75. [WARNING] This goal is deprecated. Please use mvn archetype:generate instead  
          76.   
          77. [INFO] artifact org.apache.maven.archetypes:maven-archetype-webapp: checking for updates from central  
          78.   
          79. Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.jar   
          80.   
          81.    
          82.   
          83. [INFO] ----------------------------------------------------------------------------  
          84.   
          85. [INFO] Using following parameters for creating OldArchetype: maven-archetype-webapp:RELEASE  
          86.   
          87. [INFO] ----------------------------------------------------------------------------  
          88.   
          89. [INFO] Parameter: groupId, Value: com.taobao.maven  
          90.   
          91. [INFO] Parameter: packageName, Value: com.taobao.maven.web  
          92.   
          93. [INFO] Parameter: basedir, Value: D:/workspace/branch  
          94.   
          95. [INFO] Parameter: package, Value: com.taobao.maven.web  
          96.   
          97. [INFO] Parameter: version, Value: 1.0-SNAPSHOT  
          98.   
          99. [INFO] Parameter: artifactId, Value: maven-webapp  
          100.   
          101. [INFO] ********************* End of debug info from resources from generated POM ***********************  
          102.   
          103. [INFO] OldArchetype created in dir: D:/workspace/branch/maven-webapp  
          104.   
          105. [INFO] ------------------------------------------------------------------------  
          106.   
          107. [INFO] BUILD SUCCESSFUL  
          108.   
          109. [INFO] ------------------------------------------------------------------------  
          110.   
          111. [INFO] Total time: 26 seconds  
          112.   
          113. [INFO] Finished at: Wed Dec 09 16:47:11 CST 2009  
          114.   
          115. [INFO] Final Memory: 8M/15M  
          116.   
          117. [INFO] ------------------------------------------------------------------------  

           

           

          此時已經創建了一個web項目,你可以切換到maven-webapp目錄看到目錄結構。

           

           

           

          可以看一下這個pom.xml的內容。

           

          1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
          2.   
          3.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
          4.   
          5.   <modelVersion>4.0.0</modelVersion>  
          6.   
          7.   <groupId>com.taobao.maven</groupId>  
          8.   
          9.   <artifactId>maven-webapp</artifactId>  
          10.   
          11.   <packaging>war</packaging>  
          12.   
          13.   <version>1.0-SNAPSHOT</version>  
          14.   
          15.   <name>maven-webapp Maven Webapp</name>  
          16.   
          17.   <url>http://maven.apache.org</url>  
          18.   
          19.   <dependencies>  
          20.   
          21.     <dependency>  
          22.   
          23.       <groupId>junit</groupId>  
          24.   
          25.       <artifactId>junit</artifactId>  
          26.   
          27.       <version>3.8.1</version>  
          28.   
          29.       <scope>test</scope>  
          30.   
          31.     </dependency>  
          32.   
          33.   </dependencies>  
          34.   
          35.   <build>  
          36.   
          37.     <finalName>maven-webapp</finalName>  
          38.   
          39.   </build>  
          40.   
          41. </project>  
          42.   
          43.    

           

           

          packaging: 這里值為war,表示希望將該項目以war包形式打包,打包后將會在 target目錄創建一個 WAR 文件,并以finalName為文件名創建名為maven-wepapp.war的包。

           

          Dependency:表示這里依賴了一個junitjar文件,只在測試階段時才使用到。打包時并不會打到war包中去。

           

          第四步、這個簡單的web包中已經有了一個helloworld index.jsp文件,我們要做的就是將這個項目打包成war,然后放到web容器中去就可以看到效果了。

           

          打包命令 mvn install, 如下:

           

           

          Target目錄下已經存在了maven-webapp.war包,部署到Tomcat等容器下后。

          訪問:

          Http://localhost:8080/maven-webapp/index.jsp

          即可出現hello world 字樣。

           

          另外,maven提供了一個jettyweb容器插件,讓我們可以不用自己去下載tomcat等容器,

          但是需要在pom.xml配置jetty插件。

            
           
          1. <build>  
          2.     <finalName>maven-webapp</finalName>  
          3.     <plugins>  
          4.       <plugin>  
          5.         <groupId>org.mortbay.jetty</groupId>  
          6.         <artifactId>maven-jetty-plugin</artifactId>  
          7.       </plugin>  
          8.     </plugins>  
          9.   </build>  
          配置好后,可以啟動jetty服務器。
          mvn jetty:run
           
          最后出現
          1. 2009-12-09 17:35:37.065:INFO::jetty-6.1.22  
          2. 2009-12-09 17:35:37.487:INFO::No Transaction manager found - if your webapp requires one, please configure one.  
          3. 2009-12-09 17:35:40.049:INFO::Started SelectChannelConnector@0.0.0.0:8080  
          4. [INFO] Started Jetty Server  
          表示啟動成功,訪問url即可。
           
          如果jetty無法啟動,在settings.xml中,配置一下
          
          
          1. <pluginGroups>  
          2.     <!-- pluginGroup  
          3.      | Specifies a further group identifier to use for plugin lookup.  
          4.     <pluginGroup>com.your.plugins</pluginGroup>  
          5.     -->  
          6.     <pluginGroup>org.mortbay.jetty</pluginGroup>  
          7.   </pluginGroups>  
           
          即可解決問題。
           
           
          小提示:
           
          如果想在eclipse中使用工程,則在命令行中運行
           Mvn eclipse:eclipse  即可生成eclipse工程所需的.project等文件。
           Mvn eclipse:clean 則是將eclipse配置信息清除
           
           
          如果要在eclipse中查看外部引入包的源代碼等,則在命令行中鍵入
          mvn dependency:sources 即可下載源代碼,如果沒有下載,請先執行命令 mvn clean ,后再下載

          http://www.cnblogs.com/sunxucool/archive/2013/03/05/2944011.html
          posted on 2014-08-19 19:33 HUIKK 閱讀(1256) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 雷州市| 丹阳市| 孟州市| 师宗县| 霸州市| 报价| 丹阳市| 汪清县| 濉溪县| 淮滨县| 柘城县| 马山县| 阿克陶县| 永兴县| 翁源县| 孟连| 交城县| 葵青区| 阿克| 大同市| 卢龙县| 凤阳县| 成安县| 和静县| 陕西省| 陈巴尔虎旗| 镇安县| 肥东县| 辽源市| 西安市| 石首市| 北流市| 湘阴县| 婺源县| 民丰县| 英德市| 大丰市| 环江| 石渠县| 宾川县| 射阳县|