用过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。一篇博客学习一点就好了,大家不要着急哦!
时间: 2024-10-15 09:56:07