1. 程式人生 > >Maven入門1-在Eclipse中新建Maven Web項目

Maven入門1-在Eclipse中新建Maven Web項目

開發環境 ace 隨著 ati myeclipse server pear javax group

在eclipse中新建Maven Web項目

  很多時候開發效率低下,大部分原因是IDE環境不熟悉、配置不會配置;因此在學習一項技能之前,有必要對基本的環境配置有所了解,正所謂磨刀不誤砍柴工。這篇文章主要針對初次接觸Maven,不熟悉配置的研究人員。

1、Maven配置及介紹

  Maven官網:http://maven.apache.org/

  以前開發Java Web工程時,需要導入很多依賴包,但是隨著工程逐漸變大,所管理的包越來越多,有必要使用工具來管理這些包,這樣不需要我們手動導入;Maven就是為了解決管理jar的問題。

  如下,一個經典的導入springmvc依賴的配置:

<dependencies>
    <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>3.2.0.RELEASE</version>
    </dependency>
<dependencies>

  通過三個坐標值,定位到我們所需的依賴包;

  關於pom文件的介紹,官方文檔:http://maven.apache.org/guides/introduction/introduction-to-the-pom.html

  下面介紹如何配置Maven:

  1)下載Maven

    http://maven.apache.org/download.cgi 官網下載apache-maven-3.5.0-bin.zip,到本地目錄,然後解壓,比如放到E:\JavaWeb目錄下。

  2)配置Maven環境變量

    這個網上很多教程,與配置Java環境變量是一樣的。配置好之後在命令行窗口輸入 mvn -v:如果顯示maven的版本,證明環境變量配置成功;

  3)Maven基本配置

    將maven目錄下conf-->settings.xml文件拷貝到,C盤-->用戶-->.m2文件夾下

技術分享

  為什麽這麽做呢?有兩個原因,1. eclipse默認加載maven配置是加載這個路徑下的settings文件; 2.這樣配置之後如果後期更新maven的版本不需要修改配置。如下圖所示,第二個是默認下載的包存在哪個地方,也就是本地倉庫。

技術分享

    配置settings.xml文件:

<!-- 官方推薦但是不可用,需要配置代理
<mirror>
      <id>UK</id>
      <mirrorOf>central</mirrorOf>
      <name>UK Central</name>
      <url>http://uk.maven.org.maven2</url>
</mirror>
-->
<!-- 使用國內的鏡像 -->
 <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
 </mirror>

  這樣基本的配置就完成了,關於更多內容在下一篇文章中引入;

  4)使用命令新建與發布Web工程

    進入我們想要新建工程的目錄,這裏是E:\JavaWeb\eclipse-neon\workspace

mvn archetype:generate -DgroupId=ecnu.liuning -DartifactId=springmvc-study -DarchetypeArtifactId=maven-archetype-webapp

    中間有提示信息,點回車即可,如果出現錯誤,很大一部分原因是因為鏡像配置錯誤,沒法下載依賴包,搜索錯誤內容查找解決方案。

    如果最後提示BUILD SUCCESS證明新建成功;

    這跟用eclipse新建是一樣的,可以用eclipse導入測試,如果導入eclipse之後出現下面的錯誤:

    技術分享

    是因為沒有添加Tomcat Server的運行環境:右鍵點擊工程,選擇config buildpath然後按照下圖選擇;添加完之後,修改一下文件內容再保存,讓他重新加載一下。

技術分享

在命令行切換到springmvc-study 目錄,執行:
mvn package
構建成功後,springmvc-study 目錄下多了一個target目錄,在這個目錄下會打包成my-web-app.war,把這個war包拷貝到Tomcat的發布目錄下就可以運行了

2、Eclipse中新建Maven Web項目

  上面介紹了,使用命令來新建Maven Web工程,可以看到一個標準的Web工程如下:

    my-web-app是工程名:

  技術分享

    如果是從myeclipse轉過來的開發者,可能不太適應,但是這沒有關系,代碼組織的一種形式;真正發布到Tomcat上之後跟使用Myeclipse新建的WebRoot發布是一樣的效果:

技術分享

  要想在eclipse中新建Maven項目,首先需要幾個基本的配置:

  1)設置我們自己安裝的Maven路徑

    兩個地方,Installations和User settings,User settings裏面配置我們.m2下面的settings.xml文件,以及本地倉庫地址,默認就是在C盤用戶目錄下:

  技術分享

 技術分享

  2)新建項目

    網上好多教程;照著來就可以了,但是需要註意幾點:

    (1)新建的時候選擇:

技術分享

    (2)右鍵項目-->屬性,在這裏可以修改幾個地方;

    Runtimes選中,然後Java版本改為1.8的版本,Dynamic Web Module可以去掉,點擊apply;然後再勾上Dynamic Web Module這時候改為3.0,就會出現進一步配置的藍色連接,點進去,修改裏面Content directory為src/main/webapp,並將Generate...勾選,單擊OK。

技術分享

技術分享

    (3)右鍵項目-->Build Path-->Config Build Path

      可以把缺失的文件夾給加上

技術分享

  3)配置項目

    點開pom.xml文件添加基本的servlet與junit依賴

<dependencies>
    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>3.8.1</version>
       <scope>test</scope>
    </dependency>
    <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>javax.servlet-api</artifactId>
       <version>3.1.0</version>
    </dependency>
</dependencies>

    點開web.xml文件,由於此文件是自動生成的,沒有頭部;可以現搜最新的模板使用,也可以用下面的:

<?xml version="1.0" encoding="UTF-8"?>
<web-app 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>Demo</display-name>
</web-app>

  4)下面配置插件用以發布Maven項目

  首先在pom.xml文件中加入下面的代碼:build標簽與dependencies並行,打一個<點擊alt+/會有標簽提示。

  <build>
      <plugins>
          <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.1</version>
            <configuration>
                <!-- 註意此處的url,修改成tomcat監聽的端口即可 -->
                <url>http://localhost:8080/manager/text</url>
                <server>tomcat7</server> <!-- 此處的名字必須和setting.xml中配置的ID一致-->
                <path>/${project.artifactId}</path> <!-- 此處的名字是項目發布的工程名-->
                <server>tomcat7</server> 
              <username>admin</username>
          <password>password</password> </configuration> </plugin> </plugins> </build>

  配置Tomcat

 編輯Tomcat目錄下/conf/tomcat-users.xml

 在<tomcat-users></tomcat-users>標簽中加入以下代碼後,保存退出

<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="password" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>

  如果出錯: 

   可嘗試將將Eclipse中jre改一下

      window--Preferences--java--Installed JREs,選擇jdk目錄下的jre後點OK即可。

  如果報未授權的錯誤,可能是兩個地方的配置用戶名密碼不對應:user

  最後訪問:

技術分享

3、總結

  在接觸Maven之前總是抵觸,總鐘情於手工導包的方式,其實還是自己遇到錯誤總是躲避,靜不下心來去處理;網上的好些教程千篇一律,但是就是版本不一樣,側重點不同,會導致解決不了我們的問題;總之就是靜下心來尋找解決方案。

  1)配置maven時mirror要配置正確,不然會報各種插件找不到的錯誤。

  2)使用eclipse時主要就是Properties裏面和config build path裏面進行配置。

  3)配置插件是密碼要對應起來。

  總結一下解決問題要註意的地方:

  1)要回搜,兩方面搜索,其一搜你這個問題怎麽解決,其二搜日誌錯誤信息,搜的內容質量也良莠不齊,要學會選擇!

  2)平時多看博客論壇,多幫助別人解決問題,積累相關的技術圈,問題解決圈,等到真正發生bug時能夠快速定位問題所在!

  3)要了解不同的IDE,這個出問題,可以換另一個;

  工欲善其事必先利其器,開發環境是很有必要熟悉的!

4、參考文獻

  http://www.linuxidc.com/Linux/2017-05/143308.htm

  Maven官網:http://maven.apache.org/

Maven入門1-在Eclipse中新建Maven Web項目