# 骨架是浮云,packaging 是关键
骨架(archetype)会影响你的 maven 项目的 pom.xml 配置文件的 <packaging>...</packaging> 元素的值,这个值决定了:
你的项目是 java 项目,还是 java web 项目;
你的项目最终是打成 jar 包,还是打成 war 包;
你的项目的目录结构。
骨架决定了你的项目的类型(和目录结构)只是表像!真正起作用的是 <packaging> 元素的值。
maven-archetype-quickstart 骨架会导致 <packaging>jar</packaging> ,表示项目是一个 Java 项目,最终要打成 jar 包。
其结构的完整形式应该、必须、一定如下:
项目 │── pom.xml └── src ├── main │ │── java │ └── resources └── test │── java └── resources
jar 也是也是 <packaging> 的默认值,缺省 <packaging> 时等价于 <packaging>jar</packaging> 。
maven-archetype-webapp 意味着 <packaging>war</packaging> ,表示项目是一个 Java Web 项目,最终要打成 war 包。
其目录结构应该、必须、一定如下:
项目 │── pom.xml └── src ├── main │ │── java │ │── resources │ └── webapp └── test │── java └── resources