整理這幾天搭建web項目更新的maven知識及項目配置

1、maven基本知識

一、groupid、artifactId、version

        用eclipse ee建立web項目時須要輸入groupid、artifactId、version,它們是什麼呢?        groupId:組織標識,例如com.baobaotao.ide,在本地倉庫下將是com/baobaotao/ide。        artifactId: 項目名稱,例如shop,在本地倉庫目錄下將是com/baobaotao/ide/shop。        version:版本號,例如1.0,在本地倉庫目錄下將是com/baobaotao/ide/shop/1.0java

         對於pom文件中的第三方jar包依賴,如:
web

        <dependency>spring

            <groupId>org.springframework</groupId>apache

            <artifactId>spring-core</artifactId>服務器

            <version>3.2.14.RELEASE</version>mvc

        </dependency>app

在遠程倉庫中必然有一個org/springframework/spring-core/3.2.14.RELEASE目錄。eclipse

二、pom文件

       a. <parent>標籤用於定義父pom文件,例如:

        <parent>webapp

            <groupId>父模塊組織標識</groupId>maven

            <artifactId>父模塊項目名稱</artifactId>

            <relativePath>模塊POM的相對路徑,默認爲 ../pom.xml</relativePath>

            <version>版本</version>

        </parent>

子模塊可繼承父模塊pom配置。子模塊繼承這些配置的時候,仍然要聲明groupId和artifactId,表示當前配置是繼承於父POM的,從而直接使用父POM的版本對應的資源,例如:

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-webmvc</artifactId>

        </dependency>

不寫version表示使用父模塊pom配置的spring-webmvc,這個功能能夠有效的避免多個子模塊使用依賴版本不一致的狀況,有助於下降依賴衝突的概率。細節參考:http://blog.csdn.net/wanghantong/article/details/36427411

b. pom或者父模塊pom配置裏定義個版本號,可使用${}語法取值,例如:

        定義了<junit.version>4.11</junit.version>後能夠以下配置version

        <dependency>

                <groupId>junit</groupId>

                <artifactId>junit</artifactId>

                <version>${junit.version}</version>

                <scope>test</scope>

        </dependency>

3.修改配置文件自定義本地倉庫路徑和訪問的遠程倉庫url

        maven安裝目錄conf文件夾下settings.xml文件記錄了maven配置信息。 <localRepository>設置本地倉庫位置,<mirror>設置遠程倉庫url。

4. 配置編譯插件,防止update project後jar變爲1.5

        <build>

            <plugins>

                <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-compiler-plugin</artifactId>

                <version>3.1</version>

                <configuration>

                <source>1.7</source>

                <target>1.7</target>

                </configuration>

                </plugin>

            </plugins>

        </build>

這是Maven已知的一個特性。除非在你的POM文件中顯示的指定一個編譯插件版本,不然會使用編譯器默認的source/target版本1.5

5.maven web項目目錄結構

        src/main/java  項目源代碼目錄

        src/main/resources  項目所需資源目錄

        src/main/webapp  web應用目錄包含WEB-INF,將這個目錄部署到服務器

        src/test/java  測試代碼目錄

        src/test/resources  測試所需資源目錄

        target  默認輸出目錄,存放項目.class文件和打包文件

        pom.xml

6.經常使用maven指令

        mvn archetype:create :建立 Maven 項目

        mvn compile :編譯源代碼

        mvn test-compile :編譯測試代碼

        mvn test : 運行應用程序中的單元測試

        mvn site : 生成項目相關信息的網站

        mvn clean :清除目標目錄中的生成結果

        mvn package : 依據項目生成 jar、war…… 文件

        mvn install :在本地倉庫中安裝 jar

        mvn eclipse:eclipse :生成 Eclipse 項目文件

        mvn -Dmaven.test.skip=true : 忽略測試文檔編譯

7.依賴查找網站

        http://www.mvnrepository.com  這個網站極好

2、eclipse中project facets、java build path、deployment assembly配置

      一、dynamic web module

        project facets下的dynamic web module配置web應用版本,勾選它後出現彈窗能夠配置web應用目錄,若是遇到勾選後沒有彈窗的狀況,能夠先不勾選點擊應用後再勾選便可。注意:修改web應用版本後須要修改對應的web.xml文件。如下是不一樣web版本下的web.xml配置:

        web 2.3

        <?xml version="1.0" encoding="UTF-8"?>  

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

        </web-app>

        web 2.4

        <?xml version="1.0" encoding="UTF-8"?>  

        <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"   

            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

            xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  

        </web-app>  

        web 2.5

        <?xml version="1.0" encoding="UTF-8"?>  

        <web-app 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"  

        version="2.5">  

        </web-app> 

        web 3.0

        <?xml version="1.0" encoding="UTF-8"?>  

        <web-app  

                version="3.0"  

                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_3_0.xsd">  

        </web-app>  

二、java build path

        建立項目各類目錄,配置目錄的輸出文件夾,以及默認輸出文件夾,修改jre環境,添加刪除依賴jar包、library

三、deployment assembly

        用於配置項目部署資源,一般這樣配置:

        

相關文章
相關標籤/搜索