首页 > 代码库 > 菜鸟教程之工具使用(二)——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。一篇博客学习一点就好了,大家不要着急哦!





菜鸟教程之工具使用(二)——Maven打包非规范目录结构的Web项目