使用Eclipse 安裝 構建Maven專案 (step-by-step)
Maven這個個專案管理和構建自動化工具,越來越多的開發人員使用它來管理專案中的jar包。本文僅對Eclipse中如何安裝、配置和使用Maven進行了介紹。完全step by step。
如果覺得本文對你有用,請移步到:http://download.csdn.net/detail/qjyong/5582071 下載PDF版, http://download.csdn.net/detail/qjyong/5582087 下載配套示例專案原始碼。
1. Eclipse-jee的安裝
進入eclipse官網的下載頁面:http://www.eclipse.org/downloads/,如下圖所示:
根據你的作業系統具體情況選擇相應的版本。我這裡選擇的是“Eclipse IDE for JavaEE Developers”的Windows 32 Bit版本。下載到本地磁碟即可。把下載完成的“eclipse-jee-juno-SR2-win32.zip”解壓縮到本地磁碟指定目錄下。我這裡是解壓縮在D:盤根目錄下。
進入解壓縮後的目錄中,雙擊“eclipse.exe”即可開啟Eclipse的工作介面。(注:Eclipse正常執行的前提是在系統變數中存在名為“JAVA_HOME”的變數,值為JDK的安裝目錄)。
2. Maven的安裝和配置
2.1. 安裝
進入Maven官網的下載頁面:http://maven.apache.org/download.cgi,如下圖所示:
選擇當前最新版本:“apache-maven-3.0.4-bin.zip”,下載到本地,解壓縮到本地磁碟D:下。
2.2. 配置
進入Maven安裝目錄下的conf子目錄中,開啟settings.xml進行配置修改。
2.2.1. 修改預設的本地倉庫位置
Maven預設的本地倉庫位置是當前使用者工作目錄下的“.m2/repository”,使用過程中這個目錄裡的檔案會比較多,佔用空間越來越大。一般建議更換到其它磁碟目錄下。如下配置,就把預設的本地倉庫更改到D: /.m2/repository這個目錄(這個目錄結構需要自己建立好)。
<localRepository>d:/.m2/repository</localRepository> |
2.2.2. 修改預設的中央倉庫映象
Maven預設的中央倉庫裡的檔案不全。所以,都需要自行新增其它的映象地址。在settings.xml檔案中的“<mirrors>”標籤裡新增如下內容:
<mirror> <id>ibiblio</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://mirrors.ibiblio.org/maven2/</url> </mirror> |
儲存所做的修改,同時還需要把這個settings.xml檔案複製一份到“D:/.m2”目錄下。
3. Eclipse中m2eclipse外掛的安裝
Eclipse預設不支援Maven。需要給它新增m2eclipse外掛。下面是具體的操作步驟。
3.1. 外掛安裝
依次選擇Eclipse選單欄的“Help”選單à“Instance NewSoftWare”選單項,就會彈出如下對話視窗:
選擇“Add..”按鈕,又會彈出如下對話方塊:
這個對話方塊就是用於新增一個外掛地址的。在“Name”對應的輸入框裡輸入該操作的一個標識名。在“Location”對應的輸入框裡輸入這個外掛的安裝地址。注:Maven的Eclipse外掛地址為:http://download.eclipse.org/technology/m2e/releases。輸入後,如下圖所示:
輸入完成後,點選右下角的“OK”按鈕,就會彈出如下對話方塊:
這裡需要選擇想要安裝的外掛的詳細內容。選中“Maven Integration for Eclipse”前面的核取方塊。如下圖所示:
選擇完成後,點選右下方的“Next>”按鈕進行安裝。安裝成功後,會提示需要重啟Eclipse來生效這次配置。重啟之後,這個Eclipse就可以使用m2eclipse外掛功能了。
3.2. 配置
外掛安裝好之後,還需要進行一些配置才能夠開始使用Maven的功能。
3.2.1. 設定m2eclipse外掛所關聯的Maven程式
依次選擇Eclipse選單欄的“Window”à“Preferences”選單項,就會彈出如下對話方塊:
在這個對話方塊左邊的導航欄中展開“Maven”目錄結點,並選擇“Installations”子節點,如下圖所示:
這裡需要關聯上對應的Maven安裝程式。具體操作是,在右邊皮膚中選擇“Add…”按鈕,會彈出如下選擇Maven安裝目錄的選擇對話方塊:
通過這個對話方塊來選擇Maven的具體安裝目錄。選擇好之後就點選“確定”按鈕。如下圖所示:
3.2.2. 設定自定義的本地倉庫
選擇如上圖對話視窗左邊選單樹 “Maven”節點下的“UserSettings”子節點,它預設的配置檔案是“C:\Documents and Settings\csdn\.m2\settings.xml”,如下圖所示:
這邊需要修改為我們自定義倉庫位置下的settings.xml檔案。具體操作是,點選“Browse…”按鈕來選擇上一步驟修改的本地倉庫目錄下的settings.xml檔案,如下圖所示:
在上圖中選擇D:/.m2目錄下的“settings.xml”檔案,點選“開啟”按鈕來確認剛才的選擇,就會回到如下圖的對話視窗中:
在上圖中點選右下角的“OK”按鈕來完成所有的配置修改。
4. 使用Maven來構建Web專案
4.1. 建立Maven的web專案
m2eclispe外掛中預設提供了一些Maven樣板專案,可以使用這些樣板來建立符合我們要求的專案。具體操作如下步驟:
在eclipse選單欄中選擇“File”à“News”à“Other”選單項,就會開啟如下對話視窗,在視窗中選擇“Maven”節點下“Maven Project”條目,如下圖所示:
點選“Next>”按鈕,進入如下視窗:
再次選擇“Next >”按鈕,進入如下視窗:
在這個視窗中選擇“maven-archetype-webapp”來建立一個Maven的web專案,再選擇“Next>”按鈕,進入如下圖視窗:
在上圖視窗的“Group Id”中輸入專案的基本包名,在“Artifact Id”中輸入專案名,其它輸入框不用理會。點選“Finish”按鈕來完成專案的整個建立過程。
之後,Maven就會根據專案的配置去中央倉庫下載相應的檔案和jar包。完成後,就有如下專案目錄結構:
如上圖所示,“pom.xml”檔案就是這個專案的maven配置檔案。開啟此檔案,並在“<build>”標籤內新增如下配置:
<defaultGoal>install</defaultGoal> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.5.1</version> <configuration> <source>1.6</source> <target>1.6</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> |
這段配置中“<defaultGoal>”標籤指定maven的預設操作是“install”;“maven-surefire-plugin”外掛配置了“忽略編譯專案時的測試執行”;“maven-compiler-plugin”外掛指定了一些編譯時的資訊配置。
4.2. 使用Maven新增專案依賴包
Java Web專案中還需要新增ServletAPI、JSP API以及JSTL的jar包,這可以直接在pom.xml檔案中新增了。如下pom.xml檔案中就新增了Servlet-API 2.5版本、JSP-API2.1版本、JSTL 1.2版本:
<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.qiujy</groupId> <artifactId>testweb_svn</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>testweb_svn Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> </dependencies> <build> <finalName>testweb_svn</finalName> <defaultGoal>install</defaultGoal> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> </plugins> </build> </project> |
這裡說明一下:對Servlet和JSP的API包,在編譯web專案時需要使用,而把web專案打包部署到web容器(如Tomcat)中執行時就不需要了。因此,這裡把它們的<scope>配置為provided。
4.3. 把Maven專案轉換成Eclipse工程
為了便於在Eclipse中開發JavaWeb專案,我們需要把Maven專案的目錄結構轉換成Eclipse工程的目錄結構,具體按如下操作步驟進行。
選中專案在右鍵選單中選擇“Properties”,彈出如下圖所示對話視窗:
選中左邊功能樹中的“ProjectFacets”節點,然後在對應的右邊皮膚中點選“Convert to faceted from…”這個超連結,右邊皮膚就會切換成如下圖所示:
在“Project Facet”中進行相應配置,如下圖所示:
配置好之後,選擇視窗右下角的“OK”按鈕來儲存配置。這時,這個Maven專案就會轉換成Eclipse的web工程目錄結構。
如果還需要直接在Eclipse中執行這個web工程,還需要把Maven依賴包新增到本專案類路徑中:
還需要新增部署到Tomcat時的依賴包,如下圖:
點選“Finish”來完成後,對話方塊如下圖所示:
之後點選“OK”按鈕來完成這些設定。
4.4. 把web.xml修改成相應版本
由於Maven中的“maven-archetype-webapp”樣板專案的“web.xml”是2.3版本的,我們需要替換成新版本:可以把Eclipse的web工程webContent/WEB-INF目錄下的“web.xml”檔案複製替換掉“src/main/webapp/WEB-INF/”目錄下的web.xml檔案。
注意:由於Maven專案編譯和釋出時,它只是把“src”目錄下的資源壓縮到一個war包中。而使用Eclipse-JEE開發web專案時,都是把頁面資源(html/css/js/img/JSP)放置在WebContent目錄下。所以,在使用Maven來編譯和釋出專案前,需要把WebContent目錄下的資源複製到“src/main/webapp/”目錄下。
5. 使用Maven編譯和釋出專案
在專案中的“pom.xml”檔案上點選右鍵,在彈出的選單中選擇“Run AS”à“Maveninstall”來編譯和生成專案。如下圖所示:
在編譯和生成過程中,可以在“Console”皮膚中可以看到Maven編譯過程的資訊,如果編譯和生成成功,可以在“Console”皮膚看到“BUILD SUCCESS”字樣。
另外,在修改pom.xml檔案中的相關jar包資訊時,可能由於倉庫中不存在,就會出現一些錯誤,這時,專案編譯就可能存在一些問題。此時可通過“Maven clean”選項來清除編譯,然後再修改pom.xml到正確情況。再通過“Maven install”來編譯和生成。
6. 示例專案程式碼
7. 附檔案
如下是一個SpringMVC3+Spring3+Hibernate4的web專案中的pom.xml檔案:
<projectxmlns="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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.qiujy</groupId> <artifactId>site2013</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>site2013 Maven Webapp</name> <url>http://maven.apache.org</url>
<properties> <spring.version>3.2.3.RELEASE</spring.version> <hibernate.version>4.2.2.Final</hibernate.version> <slf4j.version>1.7.5</slf4j.version> <jackson.version>2.2.2</jackson.version> </properties>
<dependencies> <!-- servlet/jsp api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency>
<!-- jstl --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- javaxmail <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.5</version> </dependency>-->
<!-- slf4j --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency>
<!-- junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.2</version> </dependency>
<!-- proxool <dependency> <groupId>proxool</groupId> <artifactId>proxool</artifactId> <version>0.8.3</version> </dependency> -->
<!-- mysql driver --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.22</version> </dependency>
<!-- sql server資料庫驅動 <dependency> <groupId>net.sourceforge.jtds</groupId> <artifactId>jtds</artifactId> <version>1.3.0</version> </dependency> -->
<!-- oracle資料庫驅動:maven倉庫中的ojdbc下載需要oracle的官方授權,先在網上找一個ojdbc14.jar包,上傳到本地的maven倉庫 mvn install:install-file -Dfile=D:/resources/ojdbc/ojdbc14.jar -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.1.0 -Dpackaging=jar <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> <version>10.2.0.4.0</version> </dependency> -->
<!-- fileupload --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.2.2</version> </dependency> <!-- io --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency>
<!-- c3p0 --> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> </dependency>
<!-- struts2 <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>${struts.version}</version> <exclusions> <exclusion> <artifactId>javassist</artifactId> <groupId>javassist</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-spring-plugin</artifactId> <version>${struts.version}</version> <exclusions> <exclusion> <artifactId>spring-core</artifactId> <groupId>org.springframework</groupId> </exclusion> </exclusions> </dependency> -->
<!-- spring3 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency>
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency>
<!-- spring需要的aspectj依賴包 --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.7.2</version> </dependency>
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> </dependency>
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency>
<!-- spring web --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency>
<!-- spring mvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency>
<!-- <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.1.6</version> </dependency> -->
<!-- hibernate4 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${hibernate.version}</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> <version>${hibernate.version}</version> </dependency>
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> </dependencies>
<!-- ========================================================== --> <build> <finalName>site2013</finalName> <defaultGoal>install</defaultGoal> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.5.1</version> <configuration> <source>1.6</source> <target>1.6</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> </project> |
相關文章
- eclipse中基於maven構建多模組專案EclipseMaven
- 使用Maven構建Java專案MavenJava
- 首次使用ideal構建maven專案webIdeaMavenWeb
- Maven 構建 Java 專案MavenJava
- Maven教程(Eclipse配置及maven專案)MavenEclipse
- Eclipse-用Eclipse搭建一個maven專案-續EclipseMaven
- Eclipse中專案Maven相關配置EclipseMaven
- 你竟然沒用 Maven 構建專案?Maven
- 構建dubbo分散式平臺-maven構建根專案分散式Maven
- 第六記·Linux中安裝eclipse、配置maven並使用maven搭建小工程LinuxEclipseMaven
- windows平臺,eclipse安裝maven外掛WindowsEclipseMaven
- Jenkins 2.32.3引數化構建maven專案-java專案JenkinsMavenJava
- 電子商城後臺系統(一):使用eclipse構建web專案EclipseWeb
- eclipse中maven專案不顯示Maven Dependencies依賴EclipseMaven
- 小白學習Vue(11)--環境安裝及專案構建 | webstorm構建vue專案VueWebORM
- 如何建立一個Maven專案(eclipse版本)MavenEclipse
- Maven配置阿里雲代理加速構建專案Maven阿里
- 使用Maven外掛構建SpringBoot專案,生成Docker映象push到DockerHub上MavenSpring BootDocker
- eclipse中maven專案failonmissingwebxml錯誤的修復EclipseMavenAIWebXML
- IDEA + maven 零基礎構建 java agent 專案IdeaMavenJava
- kubernetes下jenkins實戰maven專案編譯構建JenkinsMaven編譯
- 實戰 | 使用maven 輕鬆重構專案Maven
- 使用gradle構建springboot專案GradleSpring Boot
- 使用Dockerfile構建django專案DockerDjango
- 從零構建Java專案(Maven+SpringBoot+Git) #02 奧斯丁專案JavaMavenSpring BootGit
- 使用 webpack 構建小程式專案Web
- 如何使用Webpack工具構建專案Web
- 如何使用Docker構建前端專案Docker前端
- Maven EclipseMavenEclipse
- Maven 高階篇之構建多模組專案的方法Maven
- node和vue-cli構建專案時安裝的常用依賴Vue
- 使用 happypack 提升 Webpack 專案構建速度APPWeb
- vue-cli構建專案使用 lessVue
- 使用Dockerfile構建一個django專案DockerDjango
- DvaJS構建配置React專案與使用JSReact
- IDEA使用Gradle構建SpringBoot專案工程IdeaGradleSpring Boot
- flask 專案中使用 bootstrapFileInput(構建篇)Flaskboot
- 使用Vite快速構建前端React專案Vite前端React