1. 程式人生 > >【MAVEN】使用maven建立web專案詳細記錄

【MAVEN】使用maven建立web專案詳細記錄

一、新建使用maven的web專案

1.環境

  • eclipse 4.6.0
  • jdk 1.8.0_92
  • tomcat 8.0
  • maven 3.3.9

2.新建web專案

1.新建專案,選擇maven project


2.選擇專案的位置,預設即可,也可手動修改


3.選擇web專案模板,即maven-archetype-webapp


4.填寫專案名稱,選擇版本等資訊,點選finish完成建立


5.建立完成,目錄如下


3.配置web專案

1.配置tomcat

從上面可以看到index.jsp檔案有個紅叉,而通過錯誤提示可以看到需要新增J2EE的包,新增tomcat即可。右鍵專案Build Path ---->Configure Build Path


新增完tomcat,是不是發現小紅叉沒有了呢?

2.配置jdk版本

maven預設的jdk版本是1.5的,需要根據自己的專案改為相應的版本。同樣是Build Path,開始修改jdk版本
選擇workspace預設的jdk版本,或者可以選擇另外的版本
Java Compiler的版本也要設定,根據自己的jre版本設定,比如上面我設定了1.8的jdk,這裡也要設定1.8,設定完要點選右下角的apply,使其生效
還得設定一下Project Facets,保持三個地方的jdk版本都是一致的

3.修改web版本

maven預設的web版本是2.3的,從上面修改Project Facets的時候就可以看到,但是2.3的web版本是不是有點老了。現在來改為3.0的web版本。嘗試從Project Facets修改web版本的時候,會出現下面的這個錯誤,無法修改。只因為還有檔案需要修改才可以的。

修改專案中.settings目錄下的org.eclipse.wst.common.project.facet.core.xml,在eclipse中開啟這個檔案
找到要修改的檔案開啟
可以看到預設的web是2.3,jdk是1.5
修改為3.0和1.8,因為剛剛配置的jdk是1.8的版本
改了這裡還不行,還需要改一下web.xml,web.xml預設也是2.3的版本,修改為3.0的版本
把web.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_3_0.xsd"
    id="WebApp_ID" version="3.0">

    <display-name>Archetype Created Web Application</display-name>
</web-app>
修改後的web.xml為
再回到Project Facets是不是發現web已經變為3.0版本了。

二、解決maven專案的小紅叉

1.重新整理maven專案出現小紅叉----配置pom.xml解決

在根據上面的步驟新建web專案完成後,右鍵專案  Maven---->Update Project,會很驚訝的發現專案出現了一個小紅叉!再一看build path,會發現jdk居然變回了1.5的!主要是因為maven的預設jdk的是1.5的原因造成的。修改一下pom.xml即可。在pom.xml檔案中的build標籤中的filename標籤後面加入如下程式碼
<plugins>
		   <plugin>
		    <artifactId>maven-compiler-plugin</artifactId>
		    <version>3.0</version>
		    <configuration>
		     <source>1.8</source>
		     <target>1.8</target>
		    </configuration>
		   </plugin>
		 </plugins>
加完程式碼後,儲存pom.xml,修改完成後,再重新配置jdk的版本。
配置完jdk後,再右鍵專案  Maven---->Update Project,是不是發現專案不會再出現小紅叉了呢?

2.重新整理maven專案出現小紅叉 --->配置maven全域性jdk解決

如果每新建一個專案,都要弄這麼久,是不是有點麻煩,尤其是jdk的問題。其實可以通過配置maven預設的jdk來解決。找到maven安裝目錄下的conf檔案中settings.xml檔案開啟,在profiles標籤中新增如下程式碼,
<profile>  
        <id>jdk-1.8</id>  
         <activation>  
              <activeByDefault>true</activeByDefault>  
              <jdk>1.8</jdk>  
          </activation>  
        <properties>  
        <maven.compiler.source>1.8</maven.compiler.source>  
        <maven.compiler.target>1.8</maven.compiler.target>  
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>  
        </properties>  
    </profile>  
儲存,在eclipse中重新整理maven的設定即可。以後再重新整理也不會出現jdk跳回1.5的情況了。

三、小小總結

這算是我在使用maven中遇到的問題總結記錄,我也是剛用maven不久,水平有限,若有錯誤的地方,還望大家指出來,謝謝!