javaweb入門之學習maven(01)

maven入門知識

一. maven簡介

Apache Maven,是一個軟件(特別是Java軟件)項目管理及自動構建工
具,由Apache軟件基金會所提供。基于項目對象模型(縮寫:POM)概念,
Maven利用一個中央信息片斷能管理一個項目的構建、報告和文檔等步驟。
Maven也可被用于構建和管理各種項目,例如C#,Ruby,Scala和其他語
言編寫的項目。Maven曾是Jakarta項目的子項目,現為由Apache軟件基
金會主持的獨立Apache項目。---摘自維基百科.


Maven項目使用項目對象模型(Project Object Model,POM)來配置。
項目對象模型存儲在名為 pom.xml 的文件中。
以下是一個簡單的示例:


<project>
  <!-- model version is always 4.0.0 for Maven 2.x POMs -->
  <modelVersion>4.0.0</modelVersion>
  
  <!-- project coordinates, i.e. a group of values which
       uniquely identify this project -->
  
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <version>1.0</version>

  <!-- library dependencies -->
  
  <dependencies>
    <dependency>
    
      <!-- coordinates of the required library -->
      
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      
      <!-- this dependency is only used for running and compiling tests -->
      
      <scope>test</scope>
      
    </dependency>
  </dependencies>
</project>

二.maven主要解決開發過程的兩個問題:

  1. 項目文件jar包比較多,項目大小太大,使用maven構建項目,把依賴包分離,大大減小項目的大小.
  2. jar包相互之間的依賴關系,版本沖突問題.maven會自動處理相互之間的依賴,減少了手動添加的繁雜.只需要在pom.xml文件添加需要的依賴即可.maven的依賴管理,就是管理jar包的一個過程.

三.maven的安裝

1.http://maven.apache.org/download.cgi官網下載最新版本
mac選擇下載:    apache-maven-3.5.0-bin.zip

2. 解壓到本地,我的解壓路徑:/Users/xiaoq/Documents/maven

3. 在終端輸入命令:vim ~/.bash_profile,在里面的文件插入:
export M2_HOME=/Users/xiaoq/Documents/maven/apache-maven-3.5.0
export PATH=$PATH:$M2_HOME/bin
進行保存退出esc->:wq

終端運行:source ~/.bash_profile
在運行:mvn -v
如果沒有報錯,表示maven配置成功

01maven位置.png
02maven配置.png

四.本地倉庫配置和鏡像代理配置

1.創建repository文件夾(我的配置位置:/Users/xiaoq/Documents/work/repository)

2. 找到maven解壓文件下的conf文件下的settings.xml文件,打開進行編輯

4.1 配置本地倉庫

<localRepository>/Users/xiaoq/Documents/work/repository</localRepository>

4.2 配置鏡像(下載速度回很快,不然訪問外網速度很慢,卡死),
mirros節點下添加

<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror> 
      <id>uk</id>  
      <mirrorOf>central</mirrorOf>  
      <name>Human Readable Name for this Mirror.</name>  
      <url>http://uk.maven.org/maven2/</url> 
    </mirror>

    <mirror>
      <id>CN</id>
      <name>OSChina Central</name>
      <url>http://maven.oschina.net/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
      <id>nexus</id>
      <name>internal nexus repository</name>
      <!-- <url>http://192.168.1.100:8081/nexus/content/groups/public/</url>-->
      <url>http://repo.maven.apache.org/maven2</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
    

4.3 配置默認SDK版本,默認jse1.5,在profiles節點下添加:

<profile>
      <id>jdk-1.8</id>
      <activation>
          <activeByDefault>true</activeByDefault>
          <jdk>1.8</jdk>
      </activation>
      <properties>
          <maven.compiler.source>1.8</maven.compiler.source>
          <maven.compiler.target>1.8</maven.compiler.target>
          <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
      </properties>
</profile>

基本配置完成

五.maven目錄結構規范

    project-name
                    |---src
                            |---main
                                |---java
                                     |---resources
                                |---webapp
                            
                            |test
                                |---java
                                     |---resources
03maven目錄規范.png

六. maven常用的命令

maven 

compile: 編譯命令,作用是將src/main/java下的文件編譯為class文件并且輸出到target目錄下.

test: 測試命令,會執行src/test/java下的單元測試類

clean: 清除命令,刪除target目錄的內容

package: 打包命令,對于Java工程執行package命令會打成jar包,對于web工程打成war包

install: 安裝命令,會把maven打成的jar包或者war包發布到本地倉庫


運行命令可以發現,當執行命令的時候,前面的操作也會自動執行,比如執行test命令,會自動執行clean和compile命令.

clean->compile->test->package->install

七, maven和eclipse結合使用

高版本eclipse自帶maven插件,只需要配置即可使用

7.1 eclipse配置maven安裝路徑

1.打開eclipse,選擇preference,找到maven選項,選擇installations,點擊右邊的add進行編輯,選擇本地的maven路徑
最后點擊finish完成

04maven-eclipse.png

7.2 配置本地倉庫,就是找到剛才建立的repository文件

選擇maven選項的User Settings選項:
User Settings選擇找到maven解壓安裝目錄下的settings.xml文件位置(就是第四步編輯的文件)

Local Repository指向自己創建的repository文件的文字

05usersettings.png

7.3 顯示maven repository窗口

eclipse->Window---show view ------other----------maven Repositories

重構索引:右鍵點擊 Local Repositories,點擊 Rebuild Index

06showview.png
07rebuildindex.png
  1. 創建hellomaven工程
File->New->Maven Project ,打鉤create a simple project
->next->Group Id(公司域名com.it.companyname),Artifact Id(項目名稱:hellomaven),Packaging選擇war(web項目)->finish完成即可

08mavenpro.png
08mavenpro01.png
08mavenpro02.png

8.1 解決報錯原因

8.1.1:
在webapp目錄下創建文件夾WEB-INF,在WEB-INF下創建web.xml文件,并且寫入web項目的約束.

09webxml.png

8.2 創建HelloServlet,訪問路徑設置為/hello

發現報錯,這是缺少jar包導致

![10servlet02.png](http://upload-images.jianshu.io/upload_images/621082-82afaaf58fe8f1f2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

8.2.1 解決


打開pom.xml文件,選擇Dependecies選項卡,點擊add按鈕,搜索servlet,選擇jar包,點擊jar包OK即可,等jar包下載完成即可解決,
如果發現下載完成還是報錯,可以右點擊工程名,選擇maven->Update Project,再rebuild index

11addjar.png

在 HelloServlet類中的doGet方法寫入:response.getWriter().write("Hello Maven!");

8.3運行工程

右擊工程->run as ->選擇maven build->輸入tomcat7:run,等待服務器啟動完成,如果不報錯,進行訪問路徑

如果沒有tomcat7,打開pom.xml加入下面設置,再次Update Project,rebuild index,運行命令:

  <build>
    <plugins>
            <plugin>  
                <groupId>org.apache.tomcat.maven</groupId>  
                <artifactId>tomcat7-maven-plugin</artifactId>  
                <version>2.1</version>  
            </plugin> 
    </plugins>
  </build>

11run.png
11run02.png

控制臺會打印出訪問路徑,拷貝到瀏覽器,加上訪問路徑/hello,http://localhost:8080/hellomaven/hello如果不出意外,訪問成功,至此,hellmaven構建完成.

12url.png
13success.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容