以maven快捷方式创建项目时输出方式不同创建的项目不同

今天在创建项目中无意发现一个问题,eclipse中以快捷方式创建新的maven项目时,输出格式以war形式的创建的项目时web项目,以jar格式的则不是。下面是举例和分析。

一、以jar输出的项目创建

1,File-->new-->Maven Project

以maven快捷方式创建项目时输出方式不同创建的项目不同

2,输入项目名和输入方式

以maven快捷方式创建项目时输出方式不同创建的项目不同

3,生成项目

以maven快捷方式创建项目时输出方式不同创建的项目不同

二、以war形式输出

1,同上例中的第一步。

2,以war输出

以maven快捷方式创建项目时输出方式不同创建的项目不同

3,生成项目

以maven快捷方式创建项目时输出方式不同创建的项目不同

4,错误是由于没有web.xml文件,加进去就OK了

以maven快捷方式创建项目时输出方式不同创建的项目不同

三、原因分析

1,jar文件包括Java普通类、资源文件和普通文件,在maven中即是打包src/main/java和src/main/resources资源文件夹下的所有文件。在打包的时候会自动生成MATA-INF文件夹,用于存储maven的pom信息和MANIFEST.MF文件

2,war文件包含全部的web应用程序,即所有的java类,配置信息和jsp、js等静态资源。但是需要注意war引用

war的时候会将应用war的资源全部拷贝到当前war的相同文件下,重名的文件会被替换。

总结:由于war文件包含全部的web应用程序,所以,以快捷方式生成时默认是web 项目。