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

1、Maven配置及介紹

  Maven官網(wǎng):http://maven.apache.org/

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

  如下,一個(gè)經(jīng)典的導(dǎo)入springmvc依賴的配置:

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

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

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

  通過三個(gè)坐標(biāo)值,定位到我們所需的依賴包;

  關(guān)于pom文件的介紹,官方文檔:http://maven.apache.org/guides/introduction/introduction-to-the-pom.html

  下面介紹如何配置Maven:

  1)下載Maven

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

  2)配置Maven環(huán)境變量

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

  3)Maven基本配置

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

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

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

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

    配置settings.xml文件:

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

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

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

  這樣基本的配置就完成了,關(guān)于更多內(nèi)容在下一篇文章中引入;

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

    進(jìn)入我們想要新建工程的目錄,這里是E:\JavaWeb\eclipse-neon\workspace

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

    中間有提示信息,點(diǎn)回車即可,如果出現(xiàn)錯誤,很大一部分原因是因?yàn)殓R像配置錯誤,沒法下載依賴包,搜索錯誤內(nèi)容查找解決方案。

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

    這跟用eclipse新建是一樣的,可以用eclipse導(dǎo)入測試,如果導(dǎo)入eclipse之后出現(xiàn)下面的錯誤:

    Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

    是因?yàn)闆]有添加Tomcat Server的運(yùn)行環(huán)境:右鍵點(diǎn)擊工程,選擇config  buildpath然后按照下圖選擇;添加完之后,修改一下文件內(nèi)容再保存,讓他重新加載一下。

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

在命令行切換到springmvc-study 目錄,執(zhí)行:
mvn package
構(gòu)建成功后,springmvc-study 目錄下多了一個(gè)target目錄,在這個(gè)目錄下會打包成my-web-app.war,把這個(gè)war包拷貝到Tomcat的發(fā)布目錄下就可以運(yùn)行了

2、Eclipse中新建Maven Web項(xiàng)目

  上面介紹了,使用命令來新建Maven Web工程,可以看到一個(gè)標(biāo)準(zhǔn)的Web工程如下:

    my-web-app是工程名:

  Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

    如果是從myeclipse轉(zhuǎn)過來的開發(fā)者,可能不太適應(yīng),但是這沒有關(guān)系,代碼組織的一種形式;真正發(fā)布到Tomcat上之后跟使用Myeclipse新建的WebRoot發(fā)布是一樣的效果:

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

  要想在eclipse中新建Maven項(xiàng)目,首先需要幾個(gè)基本的配置:

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

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

  Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

 Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

  2)新建項(xiàng)目

    網(wǎng)上好多教程;照著來就可以了,但是需要注意幾點(diǎn):

    (1)新建的時(shí)候選擇:

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

 

    (2)右鍵項(xiàng)目-->屬性,在這里可以修改幾個(gè)地方;

    Runtimes選中,然后Java版本改為1.8的版本,Dynamic Web Module可以去掉,點(diǎn)擊apply;然后再勾上Dynamic Web Module這時(shí)候改為3.0,就會出現(xiàn)進(jìn)一步配置的藍(lán)色連接,點(diǎn)進(jìn)去,修改里面Content directory為src/main/webapp,并將Generate...勾選,單擊OK。

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

 

   ?。?)右鍵項(xiàng)目-->Build Path-->Config Build Path

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

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

   3)配置項(xiàng)目

    點(diǎn)開pom.xml文件添加基本的servlet與junit依賴

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

<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>

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

    點(diǎn)開web.xml文件,由于此文件是自動生成的,沒有頭部;可以現(xiàn)搜最新的模板使用,也可以用下面的:

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

<?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>

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

  4)下面配置插件用以發(fā)布Maven項(xiàng)目

  首先在pom.xml文件中加入下面的代碼:build標(biāo)簽與dependencies并行,打一個(gè)<點(diǎn)擊alt+/會有標(biāo)簽提示。

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

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

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

  配置Tomcat

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

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

 在<tomcat-users></tomcat-users>標(biāo)簽中加入以下代碼后,保存退出

  <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"/>

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

  如果出錯: 

                可嘗試將將Eclipse中jre改一下

      window--Preferences--java--Installed JREs,選擇jdk目錄下的jre后點(diǎn)OK即可。

  如果報(bào)未授權(quán)的錯誤,可能是兩個(gè)地方的配置用戶名密碼不對應(yīng):user

  最后訪問:

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

3、總結(jié)

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

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

  2)使用eclipse時(shí)主要就是Properties里面和config build path里面進(jìn)行配置。

  3)配置插件是密碼要對應(yīng)起來。

  總結(jié)一下解決問題要注意的地方:

  1)要回搜,兩方面搜索,其一搜你這個(gè)問題怎么解決,其二搜日志錯誤信息,搜的內(nèi)容質(zhì)量也良莠不齊,要學(xué)會選擇!

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

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

  工欲善其事必先利其器,開發(fā)環(huán)境是很有必要熟悉的!

4、參考文獻(xiàn)

http://www.cnblogs.com/liun1994/p/7173052.html