Maven构建Web应用
项目要以web型式打包packaging需要指定为war。
一个WAR包下至少包含两个子目录:META-INF和WEB-INF。前者包含了一些打包元数据信息,后者是WAR包的核心,WEB-INF下必须包含一个Web资源表述文件web.xml,它的子目录classes包含所有该Web项目的类,而另一个子目录lib则包含所有该Web项目的依赖JAR包,classes和lib目录都会在运行的时候被加入到Classpath中。除了META-INF和WEB-INF外,一般的WAR包都会包含很多Web资源,例如你往往可以在WAR包的根目录下看到很多html或者jsp文件。此外,还能看到一些文件夹如img、css和js,它们会包含对应的文件供页面使用。
Web项目的类及资源文件同一般JAR项目一样,默认位置都是src/main/java/和src/main/resources,测试类及测试资源文件的默认位置是src/test/java/和src/test/resources/。Web项目比较特殊的地方在于:它还有一个Web资源目录,其默认位置是src/main/webapp/。在src/main/webapp/目录下,必须包含一个子目录WEB-INF,该子目录还必须要包含web.xml文件。src/main/webapp目录下的其他文件和目录包括html、jsp、css、JavaScript等,它们与WAR包中的Web资源完全一致。
有一点需要注意的是,WAR包中有一个lib目录包含所有依赖JAR包,但Maven项目结构中没有这样一个目录,这是因为依赖都配置在POM中,Maven在用WAR方式打包的时候会根据POM的配置从本地仓库复制相应的JAR文件。
可通过finalName指定war包名称,方便部署。

浙公网安备 33010602011771号