创建一个 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 第一部分显示 已经使用但是未显示依赖的的 第二部分显示项目未使用的但是依赖的
----------------------------优化依赖命令-----------------------------------------------