菜鳥教程之工具使用(二)——Maven打包非規範目錄結構的Web專案

劉水鏡發表於2014-09-23

用過Maven的人都知道,Maven專案的目錄結構跟傳統的DynamicWeb專案有些不同。當然我們按照Maven的規範建專案最好,但是當你恰好沒有按照Maven的規範來,又恰好需要使用Maven來打包,那該怎麼辦呢?其實很簡單,這些都是可以通過配置pom檔案進行更改的。


Maven標準目錄結構:

 myproject/  
    |-- pom.xml  
    `-- src  
        |-- main  
        |   |-- java  
        |   |   `-- com  
        |   |       `-- mycompany  
        |   |-- resources  
        |   `-- webapp  
        |       |-- WEB-INF  
        |       |   `-- web.xml  
        |       `-- index.jsp  
        `-- test  
            |-- java  
            |   `-- com  
            |       `-- mycompany  
            `-- resources  

 


上面就是一個標準的Maven目錄結構,而常規Web專案的jsp、js、css等檔案都是放到WebContent/WebRoot裡的。而Maven中,這些檔案是放到webapp下的。所以,如果你直接用Maven進行install也就是打包的時候,你的頁面相關的檔案不會被打包進去,你會發現打好的war包裡只有src下的.class檔案和一些配置檔案。那麼如何將頁面等檔案也包含進去呢?


很簡單,你只要告訴Maven你的jsp放在了什麼位置,具體配置如下:

<build>
    <finalName>projectName</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.4</version>                    
            <configuration>
                <!--指定web.xml檔案的位置-->
                <webXml>WebContent\WEB-INF\web.xml</webXml>
                <!--指定jsp等檔案所在位置-->   
                <warSourceDirectory>WebContent</warSourceDirectory>
            </configuration>
        </plugin>
    </plugins>
</build>

 


OK加上以上配置,然後執行install命令,待打包完畢,你會發現WebContent裡的檔案也全部包含到了war包裡。現在就可以將打好的war包複製到Tomcat下執行了。


可能你會覺得打完包還得手動複製到Tomcat,每次打包都要手動複製一次很麻煩,別急,下一篇會跟大家一起來學習如何用Maven打包並自動部署到Tomcat。一篇部落格學習一點就好了,大家不要著急哦!



相關文章