创建一个 Java Web 项目,只需在 cmd 中输入:

mvn archetype:generate

随后 Maven 将下载 Archetype 插件及其所有的依赖插件,这些插件其实都是 jar 包,它们存放在您的 Maven 本地仓库中。

Archetype(原型),可将它理解为项目模板,您得从中选择一个。

我们的目标是创建 Java Web 项目,所以您可以选择 maven-archetype-webapp(可以在 cmd 中进行模糊搜索),随后 Maven 会与您进行一些对话,Maven 想知道以下信息:

  • 项目 Archetype Version(原型版本号)是什么?—— 可选择 1.0 版本
  • 项目 groupId(组织名) 是什么?—— 可输入 com.zhang
  • 项目 artifactId(构件名)是什么?—— 可输入spring4-mybatis3
  • 项目 version(版本号)是什么?—— 可输入 1.0
  • 项目 package(包名)是什么?—— 可输入 com.zhang.demo

以上这种方式称为 Interactive Mode(交互模式)。

如果您是一位高效人士,或许觉得这样的交互过于繁琐,那么您也可以尝试仅使用一条命名,来完成同样的事情:

mvn archetype:generate -DinteractiveMode=false -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.zhang -DartifactId=spring4-mybatis3 -Dversion=1.0

Batch Mode(批处理模式)。

手动创建【src/main/java】、【src/test/resources】、【src/test/java】这三个source folder

导入到eclipse


修改pom.xml文件


附Maven常用命令
mvn archetype:create :创建 Maven 项目
mvn compile :编译源代码
mvn test-compile :编译测试代码
mvn test : 运行应用程序中的单元测试
mvn site : 生成项目相关信息的网站
mvn clean :清除目标目录中的生成结果
mvn package : 依据项目生成 jar 文件
mvn install :在本地 Repository 中安装 jar
mvn eclipse:eclipse :生成 Eclipse 项目文件
mvn -Dmaven.test.skip=true : 忽略测试文档编译

------------------------------------一般常用命令----------------------------------------
mvn  help:system 自动在本用户下创建   ~/.m2/repository
mvn clean compile     清理编译
mvn clean test  清理测试
mvn clean package 清理打包
mvn clean install  清理将打包好的jar存入 本地仓库  注意是本地仓库
mvn archetype:generate 使用Archetype生成项目骨架
mvn clean deploy  根据pom中的配置信息将项目发布到远程仓库中 
------------------------------------一般常用命令----------------------------------------

---------------------------------maven目录结构----------------------------------------
src/main/java :正式内容包路径
src/mian/resources :正式的配置文件路径
src/test/java :测试包路径
src/test/resources :测试的配置文件路径
src/main/webapp : war 资源目录
---------------------------------maven目录结构----------------------------------------

----------------------------优化依赖命令-----------------------------------------------
mvn dependency:list   显示所有已经解析的所有依赖
mvn dependency:tree  以目录树的形式展现依赖,  最高层为一层依赖 其次二层依赖 三层依赖....
mvn dependency:analyze  第一部分显示 已经使用但是未显示依赖的的  第二部分显示项目未使用的但是依赖的
----------------------------优化依赖命令-----------------------------------------------