首页 > 代码库 > 菜鸟教程之工具使用(二)——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项目