Maven基本用法

Maven是什麼?

  Maven是一個項目管理和綜合工具。Maven提供了開發人員構建一個完整的生命週期框架。Maven使用標準的目錄結構和默認構建生命週期,所有的項目都有如下的結構:
MavenProjectRoot(項目根目錄)
 |—-src
 |  |—-main
 |  |   |—-java ——存放項目的.java文件
 |  |   |—-resources ——存放項目資源文件,如spring, hibernate配置文件
 |  |—-test
 |  |   |—-java ——存放所有測試.java文件,如JUnit測試類
 |  |   |—-resources ——存放項目資源文件,如spring, hibernate配置文件
 |—-target ——項目輸出位置
 |—-pom.xml —-用於標識該項目是一個Maven項目

Maven的安裝

  官網下載http://maven.apache.org/download.html(apache-maven-3.3.9)下載後解壓到磁盤目錄,這裏解壓到了E:\29-Maven\apache-maven-3.3.9目錄

配置環境變量
  直接在 Path 添加E:\29-Maven\apache-maven-3.3.9\bin;即可。在檢測是否安裝成功之前,說明一點,在首次執行 mvn -v 會在用戶目錄下創建一個 .m2 的目錄,這個目錄就是 Maven 的本地倉庫,可以通過更改配置文件修改 Maven的默認倉庫位置,修改E:\29-Maven\apache-maven-3.3.9\conf\settings.xml

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
   | 修改默認位置
  -->
  <localRepository>E:/29-Maven/repository</localRepository>

這裏寫圖片描述
mvn -v 顯示正常,安裝完畢

  關於Maven倉庫,我們的每個項目都會引用相同的 jar包,如果每個項目都拷貝一份,如果都複製拷貝不僅浪費磁盤空間,而且版本也不好管理。而Maven倉庫把這些 jar包統一管理起來,所有的Maven項目只需要按照配置的依賴關係,從倉庫中引用即可。
  首次運行Maven時會從網絡下載相應的文件,比較慢

創建一個 Maven項目

mvn archetype:generate 
-DgroupId  項目包名com.springmvc  
-DartifactId  項目名稱springMVCStudy 
-DarchetypeArtifactId  使用的項目模板 (1)Java工程模版-maven-archetype-quickstart (2)Web項目模版 maven-archetype-webapp
-DinteractiveMode=false 是否使用交互模式

創建JavaProject項目

mvn archetype:generate -DgroupId=com.springmvc -DartifactId=springMVCStudy -DarchetypeArtifactId=maven-archetype-quickstart 
-DinteractiveMode=false

這裏寫圖片描述
如圖:表示創建完畢

編譯:mvn clean compile(編譯好的class文件放在target文件夾下)
測試:mvn clean test(測試程序成功後會在target下生成一個test-classes目錄)
打包:mvn clean package(會在target目錄下生成springMVCStudy-1.0-SNAPSHOT.jar文件)
安裝:mvn clean install(把生產的jar文件上傳到Maven本地倉庫)
運行:java -cp target\springMVCStudy-1.0-SNAPSHOT.jar com.springmvc.App

創建JavaWeb項目

mvn archetype:generate -DgroupId=com.springmvc -DartifactId=demo-springmvc -DarchetypeArtifactId=maven-archetype-webapp 
-DinteractiveMode=false

這裏寫圖片描述
手動添加src/main/java、src/test/java、src/test/resources目錄
使用mvn package打包生成war文件,放在Tomcat-webapp文件下啓動即可訪問

使用MyEclipse 創建JavaWeb項目

選擇新建Maven project,選擇webapp模板
這裏寫圖片描述

這裏寫圖片描述

手動添加src/main/java、src/test/java、src/test/resources目錄如圖

這裏寫圖片描述

  如果出現src/main/java已經存在那麼在項目上右鍵選擇properties,然後點擊java build path,在Librarys下,編輯JRE System Library,選擇workspace default jre就可以了

部署Web項目的幾種方法

運用Maven的plugin:jetty來部署web

(1)配置pom.xml文件
在節點<build><plugins>…</plugins></build>中配置Jetty插件依賴如下

<plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty-plugin</artifactId>
    <version>6.1.26</version>
    <configuration>
    <!-- 修改默認端口號8080 -->
        <connectors>
            <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                <port>4080</port>
            </connector>
        </connectors>
        <webAppSourceDirectory>${basedir}/src/main/webapp</webAppSourceDirectory>
    </configuration>
</plugin>

(2)配置goals參數
右鍵項目Run As -> Maven build… ->Goals: jetty:run
注意:如果報錯-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.
在Window->Preference->Java->Installed JREs->Edit
在Default VM arguments中設置
-Dmaven.multiModuleProjectDirectory=$M2_HOME
這裏寫圖片描述
在8080端口啓動了jetty服務
這裏寫圖片描述
在瀏覽器訪問
這裏寫圖片描述

運用Run on Server(tomcat)部署

(1)首先轉爲MyEclipse Web項目
cmd進入項目所在目錄下使用mvn eclipse:eclipse -Dwtpversion=2.0
(2)然後部署到Tomcat運行即可

Maven整合MyBatis時總是漏掉映射文件的解決方法:
在pom.xml文件中的build節點中,添加如下代碼:

<resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
</resources>

Maven學習總結:http://www.cnblogs.com/xdp-gacl/p/4240930.html
Maven構建web項目在Eclipse中部署的幾種方法:http://www.micmiu.com/software/build/maven-web-eclipse-deploy/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章