【MAVEN】如何在Eclipse中创建MAVEN项目
目錄結構:
contents structure [+]
1,MAVEN簡介
MAVEN是一個項目構建工具,參與項目創建、導入jar包、編譯、發布、測試、打包等過程。它的使用方式有兩種:用戶命令行和可視化界面。用戶命令行就是直接在DOM窗口中輸入指令進行管理,可視化界面比如MAVEN和Eclipse整合。
2,MAVEN安裝
2.1 下載MAVEN
在安裝MAVEN之前應該把JDK安裝好,關于JDK的安裝和配置可以參見詳解JDK的安裝和配置。MAVEN和JDK類似,都是壓縮包,下載完成后解壓,配置環境變量即可,APACHE MAVEN下載。在下載之前應該先確定相應版本的MAVEN需要的JDK版本。MAVEN 3.3+需要JDK1.7及其以上,筆者下載的是MAVEN 3.5,JDK版本是1.8。
下面就是筆者的解壓后MAVEN路徑:?D:\Program Files (x86)\EXE\apache-maven-3.5.0?
2.2 配置環境變量
-
MAVEN_HOME =D:\Program Files (x86)\EXE\apache-maven-3.5.0
-
MAVEN_OPTS = -Xms128m -Xmx512m(可選)
然后再在path環境變量中追加MAVEN的配置:?%MAVEN_HOME%\bin;
2.3 測試
配置好之后,我們來到DOM窗口,輸入?mvn -v 。如果出現一些版本信息,那么MAVEN就是安裝成功了。
3,MAVEN倉庫
3.1 MAVEN倉庫的工作原理
MAVEN給我們帶來的最大的好處就是管理jar包,MAVEN管理jar包的模式是從遠程倉庫中把jar包下載到本地倉庫中。倉庫可以理解為緩存的地址,就是緩存項目需要的jar包,那么隨著項目的擴大,本地倉庫肯定為越來越大。
3.2 修改MAVEN本地倉庫
本地倉庫默認是在?C:\Users\用戶名\.m2\repository 下,為了節約C盤的空間,我們將這個倉庫的地址改為:?D:\Program Files (x86)\EXE\apache_maven_local_repository 。找打MAVEN的安裝目錄下的?conf/settings.xml?文件。然后我們在<settings>節點下,加上<localRepository>節點:
<localRepository>D:/Program Files (x86)/EXE/apache_maven_local_repository</localRepository>然后再在DOM控制臺中輸入:?mvn help:system ,回車后,我們就可以看到一些下載信息,等下載結束后,我們再到?D:\Program Files (x86)\EXE\apache_maven_local_repository目錄下,我們就可以看到許多文件了。
3.3 使用阿里云的Maven倉庫
在墻內開發,下載速度一般比較慢,這時候可以使用阿里云的Maven倉庫.
直接在的?conf/settings.xml。里面加上阿里云的映射文件就可以了。
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>4,Eclipse和MAVEN的整合的配置
在Eclipse上整合MAVEN非常簡單,我們只需要進行兩個簡單的設置就可以了。
在Eclicpse的Window->Preferences->Maven->Installations下面,我們將maven添加進來。
在Eclispe的Window->Preferences->Maven->User Settings中,我們將User Settings選項調換到MAVEN安裝目錄下的settings.xml文件夾。如果讀者的setting.xml文件,也配置了?<localRepository></localRepository> 節點,那么可以看到Local Responsitoy的值就是?<localRepository> 節點下面的值。如果沒有配置 <localRepository></localRepository>,那么Local Responsitory的值就是?C:\Users\用戶名\.m2\repository 。
就設置這兩個地方,然后就可以在Eclispe中創建MAVEN項目了。
5,Eclipse上創建MAVEN項目
我們在Eclipse菜單欄中點擊File->New->Other->Maven,在彈出的對話框中會看到,如下圖所示:
點擊Maven Project,然后可以看到:
勾選create a simple project(skip archetype selection),點擊next>后,我們可以看到:
這里有幾個參數Group Id、Artifact Id、Version、Packaging。其中Group Id表示組的id,在一些大型的分組開發中會使用。Artifact Id就是以前項目名。Version代表版本。Packaging有三個值jar、pom和war,其中jar代表普通java項目,war代表web項目,pom用于集合MAVEN組件的時候使用的。
5.1 Eclispe中使用Maven搭建Spring MVC項目
下面我們使用Maven構建一個Spring MVC,我們選擇Packaging為war,然后點擊Finish。
src/main/java 里面是存儲的java代碼的地方
src/main/resources 是存儲配置文件的地方
src/test/java 是測試java代碼的地方
src/test/resources 是測試配置文件的地方
需要說明一些,這些文件都是是Eclipse分配給我們的可視化界面,是為了方便我們分類的。這是不是包!在tomcat中沒有上面的這些的文件夾的。
新建好的web項目下面是沒有web.xml的,需要在右擊Deploymeny Descriptor,然后點擊Generate Deployment Descriptor,生成web.xml文件。
Maven最大的好處就是自動管理相關的jar包,我在這里是搭建Spring webmvc框架,那么我們只需要打開pom.xml文件,然后在搜索spring-webmvc
然后選擇一個版本的Spring-webmvc。保存后,Eclipse就會開始下載相關的jar包了。如果Eclispe沒有下載,那么可以右擊項目,然后run->Maven install。
進行下載相關的依賴包。如果在Libraries下出現Maven Dependencies包。
如果報出錯誤: ?The superclass " javax.servlet.http.HttpServlet" was not found on the java build path. ,那么有兩種解決方法,第一種就和上面導入Spring-webmvc的方式一樣,直接在輸入框中搜索servlet-api,然后選擇一個版本的。不過這種方式可能會引起導入的servlet-api.jar和原來的Tomcat不兼容,這個問題最好是從本地tomcat中添加,通過build path把本地的servlet-api.jar添加進來。
到這里位置,一個簡單的SpringMVC所需要的所有jar包就搞定了。然后我們像往常一樣寫代碼和配置就可以了。
項目總結構:
HelloController.java 文件
package cn.test.Controller;import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping;@Controller public class HelloController {@RequestMapping(value="/hello.do")public String hello(Model model){model.addAttribute("helloinfo", "HELLO WORLD");return "hello";} } HelloController.javaapplicationContext.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"xmlns:context="http://www.springframework.org/schema/context" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:util="http://www.springframework.org/schema/util"xmlns:jpa="http://www.springframework.org/schema/data/jpa"xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsdhttp://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.1.xsdhttp://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.1.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsdhttp://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.1.xsd"><context:component-scan base-package="cn"></context:component-scan><mvc:annotation-driven></mvc:annotation-driven><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass"><value>org.springframework.web.servlet.view.InternalResourceView</value></property><!--jsp存放的目錄--><property name="prefix"><value></value></property><!--jsp文件的后綴--><property name="suffix"><value>.jsp</value></property></bean></beans> applicationContext.xmlweb.xml文件
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"><display-name>mavenSpringMVC</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></init-param> </servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping></web-app> web.xmlhello.jsp文件
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> ${helloinfo} </body> </html> hello.jspwelcome.html文件
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <a href="hello.do">hello</a> </body> </html> welcome.html運行welcome.html文件后,打開連接就可以看到如下的界面:
到這里表示我們數據請求就成功了。目前一個使用MAVEN管理的SpringMVC項目就完成了。Maven最主要的一個功能就是管理jar包,如果程序員手動導入jar包,很有可能就會遇到版本不兼容,報一大堆錯,像這種各種jar包版本不兼容的問題是比較頭疼的。Maven就使程序猿從中解放出來了,使得無需關系jar的版本問題。
6,Eclipse中使用MAVEN管理的Web分布式開發
在上面第5點,筆者介紹了如何利用Maven創建Web項目。Maven除了管理jar非常方便,它在模塊開發方面也強大。完全支持開閉原則(對擴展開發,對修改關閉)。下面筆者就來介紹一下在Eclipse中使用Maven管理的web分布式開發。
關于創建Maven項目的細節,筆者就不在這里贅述了,可以參見上面第5點。
1,創建父模塊(Project)
其實這里的父模塊指的就是一種Maven項目,在上面創建MAVEN項目時候說了,jar、war和pom的區別,如果我們需要使用Maven進行模塊開發,那么packaging的類型就需要指定為pom。
?
2,創建模塊(Module)
?上面創建的父模塊可以關聯多個子模塊,這里為了舉例就只創建兩個子模塊(model1和model2)。在new->other->Maven中選中Maven Module,
建立的Module名稱為model1,關聯的父模塊的packaging的類型必須是pom。
這里演示的是web分布式開發,所以Packaging選擇了war。第二個model2同理第一個model1,到這里為止我們就完成了一個簡單分布式web開發部署了。如果在model1或是model2里面編譯程序,那么結果會立即同步到manager中去,因此可以在manager中對model1和model2進行分布式管理。
三著在項目中的結構:
我們可以看出在項父塊中,有對兩個子模塊的關聯。
?
到這里關于Eclipse中進行MAVEN開發部署就講解完了,如果讀者覺得還不錯,請點個贊。
?
轉載于:https://www.cnblogs.com/HDK2016/p/7301034.html
總結
以上是生活随笔為你收集整理的【MAVEN】如何在Eclipse中创建MAVEN项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实习第十三天
- 下一篇: Getting Installation