菜鸟教程之工具使用(二)——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>WebContentWEB-INFweb.xml</webXml>
                <!--指定jsp等文件所在位置-->   
                <warSourceDirectory>WebContent</warSourceDirectory>
            </configuration>
        </plugin>
    </plugins>
</build>


OK加上以上配置,然后执行install命令,待打包完毕,你会发现WebContent里的文件也全部包含到了war包里。现在就可以将打好的war包复制到Tomcat下运行了。


可能你会觉得打完包还得手动复制到Tomcat,每次打包都要手动复制一次很麻烦,别急,下一篇会跟大家一起来学习如何用Maven打包并自动部署到Tomcat。一篇博客学习一点就好了,大家不要着急哦!



原文地址:https://www.cnblogs.com/liushuijinger/p/3987815.html