1. 程式人生 > >在Eclipse中使用Maven構建Spring專案

在Eclipse中使用Maven構建Spring專案

最新版的Spring需要使用Maven構建,本文講述怎麼在Eclipse構建Maven專案,以配置Spring專案為例。

maven簡單介紹

maven是構建工具,也是構建管理工具。ant只是構建工具,因為不支援生成站點功能,只有預處理,編譯,打包,測試,部署等功能。

1.  倉庫的概念
在基於Maven管理的專案開發中,這個專案自身是不引進第三方jar包的,使用的時候通過pom.xml的依賴機制,從本地倉庫或者遠端倉庫去獲取第三方jar包。這個其實是打破了以往的開發習慣,一般我們是在開發專案的時候需要哪個jar包了,立刻google一下,找到相關網址,之後下載,放到我們專案的classpath中。現在是不必強制引用jar,只要通過pom.xml配置,到一定的時刻,比如編譯、測試、打包、部署,自然會將依賴的jar放進您預先的位置。Maven倉庫是基於簡單檔案系統儲存的,根據咱們之前提到的座標,可以找到該元件在倉庫的位置。

2.  倉庫的分類
Maven的倉庫分為2種,一個就是本地機器的本地倉庫,另一個就是遠端的Maven中心倉庫。當本地倉庫沒有您需要的jar包的時候,它會從遠端核心中心倉庫中下載。為了節省Maven核心倉庫的頻寬和時間,很多企業都在公司的區域網內搭建了私有的倉庫伺服器,內部專案先從私服下載東東,沒有的時候私服從外網中心倉庫下載,內部開發的專案還能上傳到私服上供其他專案組使用。

3.  本地倉庫明細
本地倉庫大家預設是在使用者臨時資料夾的~/.m2/repository下的settings.xml 。
中心倉庫地址:

http://search.maven.org/


一.配置Maven

1.安裝m2eclipse外掛

要用Eclipse構建Maven專案,我們需要先安裝meeclipse外掛,開啟Eclipse選單欄Help->Eclipse Marketplace

輸入“Maven”搜尋到外掛Maven Integration for Eclipse 並點選insall安裝


2.構建Maven簡單專案

安裝成成之後我們在Eclipse選單欄中點選File->New->Other

在彈出的對話方塊中點選Maven資料夾

點選Maven Project,並點選Next,到下一個對話方塊是預設設定,沒什麼特別的,繼續點選Next到下面這一步

如圖所示,選擇maven-archetype-quickstart,點選Next

填寫好GroupId, ArtfactId,Version等資訊,點選Finish。

maven座標

groupId:專案組織的逆向域名,比如Apache的專案可以org.apache開頭

artfactId:表示groupId下單個專案的唯一標識

version:釋出專案的版本,版本標識加上SNAPSHOT標記

packing:專案打包後的輸出,預設為jar。指為war專案打包生成一個web專案。

groupId,artfactId,version標識專案的唯一性,packing可以預設

這樣我們就建立好一個Maven簡單專案,專案結構如圖所示


3.構建Maven Web專案

其實構建Maven Web專案的操作跟建立簡單Maven專案類似,點選Eclipse選單File->New->Other->Maven->Maven Project

在選擇maven-archetype的介面進行如下操作:

點選Next彈出填寫Maven座標資訊的視窗

在彈出的視窗填寫好相應的groupId,artifactId,version等資訊,點選Finish完成。

構建好的Maven web專案結構如圖所示

4.設定Maven專案屬性

右擊專案,點選Properties->Project Facets

如圖所示可以看到專案為web2.3,java1.5,我們也可以改成我們所需要的版本。

也可以開啟配置檔案web2/.settings/org.eclipse.wst.common.project.facet.core.xml,修改即可:

5.匯入Maven專案

切換project explorer

很多時候我們需要project explorer,可以點選選單上的Window--project explorer


然後在Eclipse project explorer中右擊,在彈出框中選擇import

選擇Existing Maven Projects,點選Next下一步

選擇一個已經建立好的Maven專案,並點選Finish,這樣匯入Maven專案就完成了。

6.獲取Spring的Maven座標資訊


我們選擇3.2.7版本Spring的Maven構建座標資訊複製

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.2.7.RELEASE</version>
    </dependency>
</dependencies>


7.在Maven中配置Spring依賴資訊

pom檔案簡介

pom作為專案物件模型。通過xml表示maven專案,使用pom.xml來實現。主要描述了專案:包括配置檔案;開發者需要遵循的規則,缺陷管理系統,組織和licenses,專案的url,專案的依賴性,以及其他所有的專案相關因素。

開啟之前建立的WebApp專案


pom.xml就在專案的根目錄下,如上圖所示。


雙擊pom.xml開啟如圖所示的視窗集合,預設是Overview檢視,可以點選下面的頁籤切換檢視。


點選Dependencies切換到依賴視窗,點選Add新建專案依賴。

填寫之前選擇的Spring的Maven座標資訊,點選OK。

切換到pom.xml頁籤可以看到新增的專案資訊。

點選“儲存”按鈕

點選Maven Dependencies可以看到Spring專案的依賴的jar包已經引入。

8.最基本的Spring的Helloworld程式

在src/main/java的com.mc.app.WebApp包下

新建Java原始檔HelloWorld.java

HelloWorld.java程式碼:

package com.mc.app.WebApp;

public class HelloWorld {
	private String message;
	 
    public void setMessage(String message){
        this.message  = message;
    }
 
    public String getMessage(){
        return this.message;
    }
 
    public void printMessage(){
        System.out.println("Your Message : " + message);
    }
}

修改App.java
匯入spring包,已經可以使用自動提示程式碼功能,說明jar包匯入成功

App.java程式碼:

package com.mc.app.WebApp;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
    	ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");    	 
        HelloWorld obj = (HelloWorld) context.getBean("helloWorld"); 
        obj.printMessage();
    }
}

在eclipse工程下建立資原始檔夾

需要做的工作是讓專案知道這個資料夾是source,下面是eclipse中設定方法:
1、右鍵專案,選擇Properties
2、在彈出的視窗中,選擇左側的Java Build Path
3、此時在右側選單中選擇Source
4、在右側選單下的窗體,選擇Add Folder,把你剛才建立的資料夾例如src選中


配置檔案Beans.xml

需要新建一個XML檔案來配置bean,這個XML的作用是集中在一個地方,配置和管理所有的bean。
將這個XML檔案放在src下面,這樣就保證Eclipse可以在CLASSPATH下讀取到這個檔案。
新建一個Beans.xml,要注意和MainApp.java中ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml")一致。


Beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
 
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
 
   <bean id="helloWorld" class="com.mc.app.WebApp.HelloWorld">
       <property name="message" value="Hello World By http://blog.csdn.net/unix21!"/>
   </bean>

</beans>

spring xsd檔案地址

執行Maven命令

右擊專案,點選Run as,如下所示:

可看到有很多現有的maven命令,點選即可執行,並在控制檯可以看到執行資訊 如果你想執行的maven命令在這裡沒有找到,點選Maven build 5建立新的命令。

填入Maven命令:clean package,點選Run即可:

Maven常用命令
清理     clean
編譯     compile
打包     package
安裝     install
跳過測試         clean package -Dmaven.test.skip=true 

在App.java上右鍵點選Run As Java Application

成功輸出:Your Message : Hello World By http://blog.csdn.net/unix21!

第二次重新使用Maven Build

可以選擇Maven Build4,這樣就可以使用之前使用過的命令,如果使用5就彈出使用新框,可以使用新命令


--------------------------------------------------------------

補充:如果Maven配置少了一個spring的jar包,提示: ArtifactTransferException: Failure to transfer


新增依賴之後,總是報新增的依賴jar檔案找不到,但是在nexus的庫裡面能找到這個依賴的jar檔案,但是在本地的maven庫裡面找不到,於是我將本地庫裡面這個依賴對應的資料夾刪掉,然後在eclipse裡面執行update dependencies。成功解決問題!

本地庫的位置其實很好找

刪掉.m2目錄下的repository

-------------------------------------------------------------

重要補充:

如果提示找不到Beans.xml配置檔案

INFO: Loading XML bean definitions from class path resource [Beans.xml]
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [Beans.xml]; nested exception is java.io.FileNotFoundException: class path resource [Beans.xml] cannot be opened because it does not exist
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:343)

那麼就是沒有將配置檔案放入資原始檔中!

1.可以專案--右鍵-新增資原始檔夾  也就是  "Source folder"

2.命名資原始檔夾名稱

src/main/resources

建好的資原始檔夾如圖所示:

3.新增Beans.xml檔案

這個檔案和前面的內容一致。

4.重新Run As Java Application

即可成功訪問。

5.如果還是不行,可以嘗試修改Beans.xml配置檔案中的字元。還有需要注意配置檔案不要寫錯了!

相關推薦

eclipse使用maven 構建spring專案

1.建立maven專案如下圖:2.如下圖所示:3.如下圖所示生成資原始檔夾:4.複製如下pom.xml程式碼至自己pom.xml檔案中:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:

Eclipse使用Maven構建Spring專案

最新版的Spring需要使用Maven構建,本文講述怎麼在Eclipse構建Maven專案,以配置Spring專案為例。 maven簡單介紹 maven是構建工具,也是構建管理工具。ant只是構建工具,因為不支援生成站點功能,只有預處理,編譯,打包,測試,部署等功能。 1

eclipsemaven管理Spring專案構:SpringAOP,基於XMl,基於註解宣告事務,及事務的傳播行為

一:在applicationContext.xml中加入 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"  

eclipsemaven建立web專案

專案結構如下: 其他的一樣,就是src下多了個webapp,這裡面存放和web專案相關的檔案,然後改錯 右鍵專案,properties>Project facts,先取消Dynamic web,JAVa版本改成你的jdk版本,apply 然後重新勾選Dyna

eclipse 使用maven 構建web專案 簡單例子

1.建立Maven專案: 點選“File”選單,或者通過工具欄的“New”建立Project,如下圖所示: 選擇Maven-》Maven Project,彈出嚮導對話方塊,如下圖所示: 選中Create a simple project……複選框,其它的設定不變,並點選Ne

EclipseMaven新建web專案報錯Could not calculate build plan:Plugin org.apache.maven.plugins...

今天用maven新建了一個web專案,但是一直報了這個錯,如下圖,點OK之後的pom檔案還是同樣的錯,找了下資料,報錯消失: 修改pom檔案中的build標籤如下: <build>

在scala IDE eclipsemaven出scala專案,而不是java專案

1、下載一個maven-scala-plugin外掛,本次下載為maven-scala-plugin-2.15.2.jar包,放入scala-SDK-4.0.0-vfinal-2.11-win32.win32.x86_64\eclipse\plugins路徑下,然後重啟ec

Eclipse工具使用maven管理Spring專案構建

Hello World 1.2.1 Maven的使用 1)maven的javase工程目錄 file->new->maven project 2)maven的settings.xml的配置:更改映象,指定倉庫地址,指定代理伺服器 1.2

Eclipse使用maven構建web專案遇到的問題

構建過程參考: 構建過程中遇到的問題: 1. 配置專案新增src/main/java,src/test/java,src/test/resources時,顯示檔案已存在。 解決辦法:專案在Navigator檢視下加上三個資料夾,專案根目錄右擊—Properities—

利用EclipseMaven構建Web專案報錯(二)

利用Eclipse中的Maven構建Web專案 1、錯誤描述 [INFO] Scanning for projects... [INFO] [INFO] Using the builder org.apache.maven.lifecycle.internal.bui

在Intellij IdeaMaven構建Spring Boot專案打jar包

IDE工具:Intellij Idea 2017.1.3,專案管理工具:Maven,框架:Spring Boot 公司一個小專案一個人做,就萌生了用spring boot的想法,自己摸索難免很多彎路,此處對打可執行的jar做一個小計。失敗的嘗試方式:File --> P

Eclipsemaven專案報錯:org.springframework.web.filter.CharacterEncodingFilter

寫了一個demo,發現在tomcat中部署完專案,啟動時報錯。 1,問題描述 2,解決辦法 1)程式在部署完成後報錯,說明是程式是編譯通過的,即編譯編譯路徑Java Build Path沒問題。 2)此時檢視 專案Properties—Deployment

EclipseMaven專案執行Maven update project 專案JRE System Library變為1.5的解決辦法

1:問題描述 Eclipse中的Maven專案,本地Java版本1.8,每次右擊專案--maven--update project(Alt+F5) 後,專案JRE System Library 都變為1.5。 2:異常原因 檢視Maven官網  如下: This i

eclipse 使用maven構建簡單的專案工程操作hadoop HDFSS

通過構建一個簡單的專案工程,圍繞對實現分散式檔案系統HDFS 的操作展開學習。 參考資料:華為大資料 模組2 HDFS的應用開發。 hadoop 叢集的搭建可參考: https://mp.csdn.net/mdeditor/84288315 jdk 版本:1.8 一、使用maven 建立

Eclipse下用maven構建Struts專案,實現簡單的登入及驗證。

點選File->new->Maven Project. 右鍵所建立的專案->點選Properties->點選Java Build Path將JDK改成所需要的版本 然後點選Project Facets先改Java,再改Dynamic Web Mod

Eclipse如何將spring boot專案打成的jar包,並且雙擊執行cmd 執行jar包,設定開機啟動

1、如何在eclipse中將spring boot專案打成jar包 1.右擊專案,選擇Run As - Maven clean 2.右擊專案,選擇Run As - Maven install 3.成功後 會在專案的target資料夾下生成jar包 2、直接雙擊執行cm

Eclipse Maven構建WebApp專案資源目錄顯示不全的原因與解決方式

一、問題展示        1、Eclipse在使用Maven構建WebApp專案的時候,首先Maven的安裝和配置都沒有問題的,但是構建專案之後,Maven專案要求的幾個必須要有的資源目錄顯示不了:

java開發工具IntelliJ或eclipsemaven專案pom檔案錯誤failed to read artifact descriptor for xx.jar問題解決辦法

下載安裝好開發軟體之後,IntelliJ會自動對maven外掛進行配置,file-setting 輸入maven可檢視到配置資訊: pom檔案的編寫過程會出現project錯誤, 第一種想法:在第一張圖中home directory 和 setting file 第二種方法:

eclipseMaven web專案的目錄結構淺析

講真,剛開始接觸maven web專案的時候,相信很多人都會被它的目錄結構迷惑。 為了避免菜鳥們遇到像我一樣的困擾,我就從一個純正菜鳥的視角,來分析一下這個東西。 1,比如說,我們拿一個常見的目錄結構來看,如下。 2.上圖中,為啥又有Java Resources資料夾

eclipsemaven專案部署到tomcat

其實maven專案部署到tomcat的方式很多,我從一開始的打war包到tomcat/webapps目錄,到使用tomcat-maven外掛,到直接使用servers部署,一路來走過很多彎路。 下面就一一介紹這幾種部署方式: 1.maven web專案部署到ecl