maven使用

Maven

 

  • 介紹

Maven主要功能: 管理jar包依賴 還有項目編譯和項目管理

編譯工具發展史: Ant -> Maven -> Gradel

特性:

依賴管理系統、 多模塊構建、一致的項目結構 、一致的構建模型和插件機制

 

Maven項目結構和環境搭建

1、項目結構

 

src/main/java

放java源碼

src/main/resources

放資源配置文件(.xml .properties)

src/test/java

單元測試

src/test/resources

放測試配置文件

pom.xml

Maven項目的全局唯一配置

 

2、環境搭建

  1. 下載maven,並解壓! 放在一個不存在中文和空格的路徑中(存在中文或空格會報錯哦)
  2. 配置環境變量,在系統環境變量path中添加,maven的bin路徑
  3. 將m2壓縮包放在一個空文件夾中並解壓,並且將其repository根目錄複製粘貼到上述解壓後的maven/conf/settings.xml中localRepository的元素中,如下:<localRepository>D:/m2/m2/repository</localRepository>
  4. 驗證 mvn -v

 

    5、編譯文件 mvn compile 

    6、運行文件

mvn exec:java -Dexec.mainClass="com.shsxt.demo.Hello"

(爲了測試,在java文件夾下面創建com/shsxt/demo/Hello.java類,所以編譯後的calss文件是com.shsxt.demo.Hello.class,這也是上述運行文件命令的雙引號中的內容)

 

eclipse中集成Maven

1、在window->preferences 中配置maven

 

 

2、創建普通java項目以及web項目

new project -> maven -> 模板有兩個quickstart(普通java項目)和webapp(web項目) -> 填寫項目信息,具體如下:

 

 

目錄結構

 

3、對項目的jdk依賴以及編譯進行設置,右擊項目-->properties中進行設置:

注意:如果是普通java項目雙擊Libraries/JRE System Library[],選擇如下的默認Workspace jre1.8

編譯環境選擇1.8版本

 

注意:如果是web項目,上述java build path中不能選擇Workspace jre1.8,而應選擇jdk(我解壓jdk的時候命名其爲java1.8),如下:

Web項目除了以上兩個配置(build path和compile),還要如下配置:

注意:Dynamic Web Moudule的3.0版本以及java的1.8版本要在workspace中項目的settings下面的org.eclipse.wst.common.project.facet.core.xml中設置(沒有以下設置,上述選擇不了相應的版本哦):

 

4、啓動web項目

兩種方式: 外置Tomcat 或者 maven插件(jetty 和 tomcat)

jetty小巧,啓動快,適合開發使用,tomcat性能高

在pom.xml中的build元素中添加如下代碼:

jetty方式:

<plugins>

<plugin>

<groupId>org.mortbay.jetty</groupId>

<artifactId>maven-jetty-plugin</artifactId>

<version>6.1.25</version>

<configuration>

<scanIntervalSeconds>10</scanIntervalSeconds>

<contextPath>/test</contextPath>

<!-- <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">

<port>8080</port> </connector> </connectors> -->

</configuration>

</plugin>

</plugins>

啓動: 右擊pom.xml -> run as 下的build mvn命令

Name隨便填,在Goals輸入框中填寫jetty:run 或者以下

jetty:run -D jetty.port=8989(或者在<plugin>標籤中設置

 

tomcat方式:

<plugin>

<groupId>org.apache.tomcat.maven</groupId>

<artifactId>tomcat7-maven-plugin</artifactId>

<version>2.1</version>

<configuration>

<!-- <port>8081</port> -->

<path>/test </path>

<uriEncoding>UTF-8</uriEncoding>

<finalName>test </finalName>

<server>tomcat7</server>

</configuration>

</plugin>

同上: tomcat7:run

 

5、打開瀏覽器訪問

6、爲防止webapp下的Index.jsp內容報錯

maven倉庫中可以下載javax,防止webapp下的Index.jsp內容報錯,網址: http://mvnrepository.com/,代碼放置在pom.xml的<dependecy>元素標籤中,代碼如下:

<dependency>

    <groupId>javax.servlet</groupId>

    <artifactId>javax.servlet-api</artifactId>

    <version>3.1.0</version>

    <scope>provided</scope>

</dependency>

 

  • maven多模塊項目搭建

1、首先創建一個父項目:

創建一個簡單的工程,跳過模板選擇

packaging 選擇 pom

2、然後創建子項目:

項目組織
1shsxt_par 項目maven project
2shsxt_dao dao 級別子項目普通java項目
3shsxt_service service 級別子項目普通java項目
4shsxt_web web 級別子項目web項目

 

還有shsxt_service以及shsxt_web創建過程和上述一樣;

注意:shsxt_web子項目是web項目,不是普通java項目。

3、配置子項目的互相依賴性,service依賴dao,web依賴service;即web項目同時依賴了兩個service和dao(這時候service項目中可以調用dao項目中的內容,web項目可以調用service以及dao項目中的內容)

4、右擊父項目-->run as-->maven install將項目連接起來

5、右擊web項目的pom.xml-->run as-->maven build進行填寫

6、瀏覽器進行訪問,http://localhost:9990/web/userWeb

 

  • maven項目打包

對於maven 項目, 我們可以用過 pom.xml 配置的方式來實現打包時的環境選擇, 相比較其他形式打包工具, 通過 maven 只需要通過簡單的配置, 就可以輕鬆完成不同環境先項目的整體打包,如下操作:

1、在pom.xml的project元素標籤中添加如下代碼:

<!-- 打包環境配置 開發環境 測試環境 正式環境 -->

<profiles>

<profile>

<id>dev</id>

<properties>

<env>dev</env>

</properties>

<activation>

<activeByDefault>true</activeByDefault>

</activation>

</profile>

<profile>

<id>test</id>

<properties>

<env>test</env>

</properties>

</profile>

<profile>

<id>product</id>

<properties>

<env>product</env>

</properties>

</profile>

</profiles>


2、配置項目資源文件,在pom.xml中的build標籤中添加如下代碼:

<resources>

<resource>

<directory>src/main/resources/${env}</directory>

</resource>

<resource>

<directory>src/main/java</directory>

<includes>

<include>**/*.xml</include>

<include>**/*.properties</include>

<include>**/*.tld</include>

</includes>

<filtering>false</filtering>

</resource>

</resources>

 

3、在src/main/resources下創建dev、product、test目錄

4、對應打包命令如下:
選中項目, 右鍵 run as ->maven build輸入命令
clean compile package -Dmaven.test.skip=true 打包默認環境( 開發環境)
並且跳過 maven 測試操作
clean compile package -Ptest -Dmaven.test.skip=true 打包測試環境並且
跳過 maven 測試操作
clean compile package -Pproduct -Dmaven.test.skip=true 打包生產環境並
且跳過 maven 測試操作

5、以上操作在對應的項目文件夾下生成對應的包

 

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