日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Eclipse构建Maven项目 (step-by-step)

發布時間:2023/12/3 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Eclipse构建Maven项目 (step-by-step) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:?http://blog.csdn.net/qjyong/article/details/9098213


?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项目 (step-by-step)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。