qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          maven環境快速搭建

             最近,開發中要用到maven,所以對maven進行了簡單的學習。因為有個maven高手在身邊,所以,很快就上手了,我這里算是自我總結吧。關于maven是什么東東,請參考其它文章。

          ----------------準備工作-------------

          Jdk  1.5以上java開發環境。

          Eclipse IDE 一個。

          Maven 3.0.3下載地址: http://maven.apache.org/docs/3.0.3/release-notes.html

          ----//快速搭建步驟

           

          第一步:配置maven環境

           

          將下載文件解壓,然后設置maven環境

          如果你配置過jdk的話,這里對你應該不難。如我的maven環境為:F:\maven\apache-maven-3.0.3

          我的電腦-----屬性----高級-----環境變量-----環境變量-----新建

          變量名:M2_HOME

          變量值:F:\maven\apache-maven-3.0.3

          找到path 

          在環境變量值尾部加入:;%M2_HOME%\bin;---前面注意分號

          當然,你也可以直接在path 路徑下加入:;F:\maven\apache-maven-3.0.3\bin  只是上面的方式更優雅一點。

          我新建立

          打開命令提示符(開始---運行---cmd,檢查我們的java環境和maven環境是否有誤。

           

           

          第二步:修改倉庫位置

           

          修改我們倉庫地址,倉庫用于存放我們項目所依賴的所有jar包。

          我的倉庫路徑:F:\maven\repo----這個路徑是我自己創建,你可以將路徑創建在任何位置。

          我們打開…\apache-maven-3.0.3\conf\目錄下的setting.xml文件,設置成我們創建的倉庫路徑

          下面我們用一個命令驗證一下。打開命令提示符,輸入:mvn help:system 

          該命令會打印出所有的java系統屬性和環境變量。這些信息對我們日常的編程工作很有幫且。

          如果運行的過程中沒有錯誤,打開我們倉庫(F:\maven\repo)會發現里面多了一些文件。這些文件就是我們從maven的中央倉庫下載到本地倉庫的。

           

          第三步:創建maven項目

          創建一個我們自己的項目。

          我們通過maven命令行方式創建一個項目

          mvn archetype:create -DgroupId=com.chongshi.test -DartifactId=hello -DpackageName=com.chongshi.test -Dversion=1.0

           

          因為是第一次構建項目,所有依賴的jar包都要從maven的中央倉庫下載,所以需要時間等待。等以后我們的本地倉庫中積累了我們常用的jar包后,我們的開發將變得非常規范和方便。^_^!!

           

          借助下載jar包的時間,我們來了解一下pom.xml文件。

           

          復制代碼
          <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/xsd/maven-4.0.0.xsd">
          <modelVersion>4.0.0</modelVersion>

          <groupId>com.chongshi.test</groupId>
          <artifactId>hello</artifactId>
          <version>1.0</version>
          <packaging>jar</packaging>

          <name>hello</name>
          <url>http://maven.apache.org</url>

          <properties>
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
          </properties>

          <dependencies>
          <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
          </dependency>
          </dependencies>
          </project>
          復制代碼

          Ø project:pom.xml文件中的頂層元素; 
          Ø modelVersion:指明POM使用的對象模型的版本。這個值很少改動。
          Ø groupId:指明創建項目的組織或者小組的唯一標識。GroupId是項目的關鍵標識,典型的,此標識以組織的完全限定名來定義。比如,org.apache.maven.plugins是所有Maven插件項目指定的groupId。 

          Ø artifactId: 指明此項目產生的主要產品的基本名稱。項目的主要產品通常為一個JAR文件。第二,象源代碼包通常使用artifactId作為最后名稱的一部分。典型的 產品名稱使用這個格式: <artifactId>- <version>. <extension>(比 如:myapp-1.0.jar)。 

          Ø version:項目產品的版本號。Maven幫助你管理版本,可以經??吹絊NAPSHOT這個版本,表明項目處于開發階段。 

          Ø name:項目的顯示名稱,通常用于maven產生的文檔中。 

          Ø url:指定項目站點,通常用于maven產生的文檔中。 

          Ø description:描述此項目,通常用于maven產生的文檔中。

           

          對于一個項目中只有下面的一部分是是我們需要關注的:

          <groupId>com.chongshi.test</groupId>

           <artifactId>hello</artifactId>

           <version>1.0</version>

           

          第四步:編譯項目代碼

          我們的項目已經創建完成。但我們點開目錄發現,它并不是我們eclipse所需要的項目目錄格式。我們需要把它構建成我們eclipse可以導入的項目。

          在命令提示符下進入到我們的創建的項目目錄(F:\maven\hello)下,執行:mvn clean compile

          Clean 告訴maven清理輸入出目錄target/,compile告訴maven編譯項目主代碼。

          不要急,我們又需要一段時間來下載,相關jar包。^_^!第一次用maven要學會淡定。

           

          項目是編譯完了,但項目的目錄結構還不是我們想要的eclipse的項目結構,是不能導入到eclipse中的。所以,還需要執行一個命令:mvn eclipse:eclipse

           

          命令執行完成后就得我們需要的項目目錄了。

           

          第五步:導入eclipse工具

           

          打開的我們的eclipse工具。

          先配置maven倉庫路徑

          Window----Perferences-----java-----Build Path-----Classpath Variables

          New一個變量的類路徑。

          Name :M2_REPO   注意這個名字必須要大寫。

          Path :F:/maven/repo  點擊“Folder…”找到有本地倉庫的位置。

           

          下面,可以導入我的hello項目了。Eclipse如何導入項目,我這里就不說了,如果你是個java開發人員的話。

           

          第六步:包的更新與下載

           

          打開項目發現我們junit 是3.8.1的,有點老了。那我想換成4.7的,如何通過maven的方式更換呢。其實,很簡單,打開我們項目下的的pom.xml文件。

          復制代碼
          ……
          <dependencies>
          <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.8.1</version>
          <scope>test</scope>
          </dependency>
          </dependencies>
          ……
          復制代碼

          更改變,junit的版本號,然后重新執行:mvn eclipse:eclipse  

          Maven 中央倉庫地址:http://search.maven.org

           

          假如,我們想下載一個struts jar包。在搜索框內搜索strruts ,會要列出中央倉庫中的所有struts版本。

          列表的格式與我們pom.xml配置文件的格式是對應的。

           

           

           

           

          我們在pom.xml中加入:

          <groupId>stuts</groupId>

           <artifactId>struts-scription</artifactId>

           <version>1.0.1</version>

          然后更新項目就可從中央倉庫下載我們想要的任意jar包(必須是開源的包)

           

          繼續學習內容:

          1. 如何創建一個web項目?

            如果想讓maven應用到項目開發中,這個是必須的。

          2. 如何使用jeety?

            maven提供的一個容器,類似于tomcat

          3. 如何創建一個代理倉庫?

          http://www.theserverside.com/news/1364121/Setting-Up-a-Maven-Repository
          一個團隊要真正用好Maven,repository私服是免不了的,否則team mate們多好奇的目光,都會全部消耗在漫長的jar下載中。

              以前介紹過一個搭建私服的簡樸但很笨的辦法--將雷鋒同志下載好的.m2/repository目錄整個上傳到任意的Web服務器中。其實世上多的是專業的maven私服搭建器,見TheServiceSide的文章--Setting Up a Maven  Repository

              我用的是Artifactory,忽然間覺得,Java的服務應用啥時候終于變得這么好用了,什么都不用裝,不用配,雙擊artifactory.bat,自己就會啟動Jetty Web服務器,典型的拆箱即用。

              10分鐘入門到開動

          • 雙擊artifactory.bat,啟動默認配置的Artifactory服務。
          • http://localhost:8081/artifactory/,用admin/password登錄進管理界面看看。
          • 修改自己項目的pom.xml,增加私服定義
                <repositories>
                    
            <repository>
                        
            <id>artifactory</id>
                        
            <name>your local artifactory</name>
                        
            <url>http://localhost:8081/artifactory/repo</url>
                    </
            repository>
                </
            repositories>

                
            <pluginRepositories>
                    
            <pluginRepository>
                        
            <id>artifactory</id>
                        
            <name>your local artifactory</name>
                        
            <url>http://localhost:8081/artifactory/plugins-releases</url>
                        
            <snapshots>
                            
            <enabled>false</enabled>
                        </
            snapshots>
                    </
            pluginRepository>
                </
            pluginRepositories>
          • 正常運行項目的maven命令,向artifactory索求jar。如果artifactory已經下載了就會直接返回給你,還沒有的 就會去那幾個repo官方站下載。進入到artifactory的管理界面,不斷刷新Browse the repository,會看到倉庫不斷豐富的情況。

          另外,官網服務器上還沒有的一些jar,也可以通過管理界面很方便的deploy到Artifactory中。

          最后你團隊里的artifactory服務器不能直接連外網,需要使用HTTP代理服務器的話,見http://www.jfrog.org/sites/artifactory/latest/configuration.html

          建議那些愿意為開源作實事的站點,在帶寬充裕的服務器上,用Artifactory搭一個jar倉庫吧,SpringSide就可以直接連上去下載jar了:)


            如果是團隊開發,這個很有必要,我們不可能每次都到中央倉庫拿包,那樣很慢,如果開發人員A已經下了某包,開發人員B還要下;創建代理倉庫,A第一次下的包會存入代理倉庫中,B要用時直接從代理倉庫取就行。

          本文更新一個命令。

          第一節中提示創建一個項目用archetype:create  create是個被廢棄或不被推薦使用的插件,在以后創建項目中請盡量使用archetype:generate

          創建一個項目,如下:

          mvn archetype:generate -DgroupId=com.chongshi.test -DartifactId=hello 

          -DpackageName=com.chongshi.test -Dversion=1.0

          第一節拋出了三個問題,本文將解決前兩個

          1. 如何創建一個web項目

          2. 如何使用jettey容器運行

          如果對maven的基本配置不了解的,請先閱讀第一篇文章:

          http://www.cnblogs.com/fnng/archive/2011/12/02/2272610.html

          -----//創建一個文本項目

           

          1. 如何創建一個web項目。

          其實非常簡單,只是比普通項目多加一個參數DarchetypeArtifactId ,命令如下:

          mvn archetype:generate -DgroupId=com.chongshi.test -DartifactId=mywebapps  -DarchetypeArtifactId=maven-archetype-webapp -Dversion=1.0 

          定位到創建項目的目錄下構建成eclipse項目:

           F:\mywebapp>mvn eclipse:eclipse 

           

          通過maven構建后就是我們eclipse所需要的項目目錄如下。

          由于本文不是講解struts2項目的創建與配置,所以就不寫struts2的配置過程,但為了不影響后面內容的講解,所以這里提供一個基于struts2web項目

          例子介紹:http://www.mkyong.com/struts2/struts-2-hello-world-example/

          項目源碼下載:

          http://www.mkyong.com/wp-content/uploads/2010/08/Struts2-Hello-World-Example.zip

          我解壓到了本地D盤根目錄下,由于已經是maven 的項目格式了,所以不需要對該項目運行mvn  eclipse:eclipse命令進行構建。直接導入到eclipse工具中。項目目錄結構如下:

           

           

          ----//如何使用Jetty容器

          2. 如何使用jetty容器運行項目。

          使用添加jetty 運行項目。

           Jettytomcat一樣也屬于web容器。Jettymaven中做為一個插件。我們要在pom.xml中添加jetty的插件,才能調用jetty。

          <project>…</project>標簽之間,插入如下信息:

           

          復制代碼
          <build>
          <finalName>Struts2Example</finalName>
          <plugins>
          <plugin>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>maven-jetty-plugin</artifactId>
          <version>6.1.10</version>
          <configuration>
          <scanIntervalSeconds>10</scanIntervalSeconds>
          <stopKey>foo</stopKey>
          <stopPort>9999</stopPort>
          </configuration>
          <executions>
          <execution>
          <id>start-jetty</id>
          <phase>pre-integration-test</phase>
          <goals>
          <goal>run</goal>
          </goals>
          <configuration>
          <scanIntervalSeconds>0</scanIntervalSeconds>
          <daemon>true</daemon>
          </configuration>
          </execution>
          <execution>
          <id>stop-jetty</id>
          <phase>post-integration-test</phase>
          <goals>
          <goal>stop</goal>
          </goals>
          </execution>
          </executions>
          </plugin>
          </plugins>
          </build>
          復制代碼

           

          在項目目錄下執行mvn jetty:jetty   

           

          D:\java\Administrator\workspace3\Struts2Example>mvn jetty:jetty

          在慢長的等待插件下載過程中(公司網速不給力),我上了一次廁所、倒了一次水。在群里和朋友亂侃了一通。^_^!!

          等插件下載完成后就可以運行jetty了,運行命令:mvn jetty:run 

          這時就可以在瀏覽器中訪問我們的jsp頁面了。

           

          重啟Jetty,按鍵盤ctrl+c  根據提示按 y


          posted on 2012-05-02 15:19 順其自然EVO 閱讀(6152) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2012年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 淮北市| 凤庆县| 旬阳县| 彭泽县| 新干县| 洛隆县| 交城县| 衡阳县| 康平县| 长葛市| 芦山县| 安国市| 涡阳县| 武隆县| 盐亭县| 玉溪市| 麦盖提县| 乐亭县| 成安县| 韩城市| 永川市| 龙山县| 禹州市| 三河市| 麻栗坡县| 镇平县| 扎赉特旗| 黔西| 古丈县| 玛曲县| 樟树市| 嘉黎县| 鄂伦春自治旗| 文安县| 休宁县| 竹山县| 博湖县| 拜泉县| 夏津县| 浦县| 南充市|