1. 程式人生 > >使用maven建立web專案demo

使用maven建立web專案demo

        對於初學者而言,第一次使用maven最大的感慨就是:很好的一款專案構建工具,管理jar包太方便了,不用需要什麼jar包親自去官網上下載,只要配置好私服和本地倉庫,需要什麼jar包直接引入,maven自動從私服下載到本地倉庫。

        廢話不多說,直接圖文演示如何用maven構建web專案:

1. 新建maven專案

          1)File——>New——>Other

2)Wizards:下文字框輸入maven——>maven project——>next——>next

3)選擇maven-artchetype-webapp——

>next

4)GroupId:團體、公司、小組、組織、專案、或者其它團體。如contentSearch-web,contentSearch-dal,contentSearch-biz同屬一個groupId。
ArtifactId:在 groupId 下的表示一個單獨專案的唯一識別符號。專案名稱ID 。
填好GroupId和ArtifactId,點選finish,OK。新建專案完成。

2. 修改專案配置

1)開啟所建的專案,工程目錄是不對的:

工程名springmvc右擊——>Properties——>Java build path,將jdk的版本修改為workspace

的版本。

選擇Java Compiler——>修改編譯jdk版本。然後點選ok

2)修改專案配置檔案:

Windows——>showview——>navigator:

展開springmvc專案,修改.settings配置檔案

修改org.eclipse.wst.common.component:

原來:

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="<strong><span style="color:#FF0000;">1.5.0</span></strong>">
    <wb-module deploy-name="springdemo">
        <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
        <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
        <property name="context-root" value="springdemo"/>
        <property name="java-output-path" value="/springdemo/target/classes"/>
    </wb-module>
</project-modules>
改為:
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="<strong><span style="color:#FF0000;">1.6.0</span></strong>">
    <wb-module deploy-name="springdemo">
        <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
        <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
        <property name="context-root" value="springdemo"/>
        <property name="java-output-path" value="/springdemo/target/classes"/>
    </wb-module>
</project-modules>
修改org.eclipse.wst.common.project.facet.core.xml:

原來:

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="java" version="<span style="color:#FF0000;"><strong>1.5</strong></span>"/>
  <installed facet="jst.web" version="<strong><span style="color:#FF0000;">2.3</span></strong>"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
  <installed facet="jst.jaxrs" version="1.1"/>
  <installed facet="jst.jsf" version="2.0"/>
</faceted-project>

改為:

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="java" version="<strong><span style="color:#FF0000;">1.6</span></strong>"/>
  <installed facet="jst.web" version="<strong><span style="color:#FF0000;">2.5</span></strong>"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
  <installed facet="jst.jaxrs" version="1.1"/>
  <installed facet="jst.jsf" version="2.0"/>
</faceted-project>
3)修改web.xml配置:

原來:

<!DOCTYPE web-app PUBLIC
	 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
	 "http://java.sun.com/dtd/web-app_2_3.dtd" >
		
<web-app>
	  <display-name>Archetype Created Web Application</display-name>
</web-app>

改為:

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
		  
    <display-name>Archetype Created Web Application</display-name>  
</web-app> 
4)加入java ee包:

pom.xml檔案的<dependencies>標籤引入下面程式碼:

<!-- 匯入java ee jar 包 --> 

<dependency> 

    <groupId>javax</groupId> 

   <artifactId>javaee-api</artifactId> 

    <version>6.0</version> 

</dependency>

注意:eclipse的jdk是什麼版本的,就加什麼版本,否則執行程式會有jdk版本不一致的錯誤!!! 5)工程名springmvc右擊——>Maven——>Update Project…,你會發現工程沒有錯誤了,但是jdk的版本又變回1.5了。如圖:

       
Reason:我們用Eclipse建立Maven結構的web專案的時候選擇了Artifact Id為maven-artchetype-webapp,由於這個catalog比較老,所以才會有這些問題。我們可以在pom.xml的<build>標籤中配置maven編譯外掛的版本。

<plugins>  
      <plugin>  
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-compiler-plugin</artifactId>  
            <version>2.3.2</version>  
            <configuration>  
                <source>1.6</source>  
                <target>1.6</target>  
            </configuration>  
      </plugin>  
</plugins>  
最後,再update project一下,一切都會正常。