1. 程式人生 > >菜鳥教程之工具使用——Maven打包非規範目錄結構的Web專案

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

用過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。一篇部落格學習一點就好了,大家不要著急哦!