Maven命令简介
Maven提供了一套命令可以用来创建java工程、编译、打包等操作。通过这些命令来处理工作变得更方便、简洁。
Maven工程结构和内容被定义在pom.xml文件中,全称project object moduel
当我们创建一个Maven工程时,Maven会创建默认的工程结构,开发者只需要合理的放置配置文件,而在pom.xml文件中无需做任何配置。
Maven创建工程命令
maven创建工程命令格式:
mvn archetype:generate -Dgroupid #公司名称 -DartifactId #项目名称 -DarchetypeArtifactId #archetypeArtifactId 模型(骨架) -DinteractiveMode #是否使用交互模式
备注:archetypeArtifactId模型(骨架):
1)指定为maven-archetype-quickstart,创建一个java project工程;
2)指定为maven-archetype-webapp ,创建一个web project工程。
1)使用maven-archetype-quickstart骨架来创建java project
在D盘下新建maven文件夹,进入d:\maven下,按着shift键同时右键,会弹出“在此处打开命令窗口(W)”
在打开的cmd窗口中输入命令:mvn archetype:generate,此时如果你是第一次执行该命令,就会下载很多插件。
当需要下载的内容下载完成后,就开始填写参数等来创建工程
。。。
1871: remote -> us.fatehi:schemacrawler-archetype-plugin-lint (-) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive co ntains): 990: maven-archetype-quickstart #输入骨架名称,可以自动筛选如骨架编号 Choose archetype: 1: remote -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetyp e which contains a sample Maven project.) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive co ntains): 1: 1 #输入骨架对应的编号 Choose org.apache.maven.archetypes:maven-archetype-quickstart version: 1: 1.0-alpha-1 2: 1.0-alpha-2 3: 1.0-alpha-3 4: 1.0-alpha-4 5: 1.0 6: 1.1 Choose a number: 6: 6 #输入应用骨架的版本 Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/ma ven-archetype-quickstart/1.1/maven-archetype-quickstart-1.1.pom Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mav en-archetype-quickstart/1.1/maven-archetype-quickstart-1.1.pom (2.0 kB at 3.9 kB /s) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/ma ven-archetype-bundles/4/maven-archetype-bundles-4.pom Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mav en-archetype-bundles/4/maven-archetype-bundles-4.pom (3.6 kB at 6.9 kB/s) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetype/mav en-archetype/2.0-alpha-5/maven-archetype-2.0-alpha-5.pom Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetype/mave n-archetype/2.0-alpha-5/maven-archetype-2.0-alpha-5.pom (8.7 kB at 17 kB/s) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/ 16/maven-parent-16.pom Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/1 6/maven-parent-16.pom (23 kB at 41 kB/s) Downloading: https://repo.maven.apache.org/maven2/org/apache/apache/7/apache-7.p om Downloaded: https://repo.maven.apache.org/maven2/org/apache/apache/7/apache-7.po m (14 kB at 29 kB/s) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/ma ven-archetype-quickstart/1.1/maven-archetype-quickstart-1.1.jar Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mav en-archetype-quickstart/1.1/maven-archetype-quickstart-1.1.jar (6.2 kB at 12 kB/ s) Define value for property 'groupId': com.dx #为公司名称 Define value for property 'artifactId': maven_demo1 #为项目名称 Define value for property 'version' 1.0-SNAPSHOT: : #项目版本,直接回车为默认1.0-SNAPSHOT Define value for property 'package' com.dx: : com.dx.maven_demo1#包名 Confirm properties configuration: groupId: com.dx artifactId: maven_demo1 version: 1.0-SNAPSHOT package: com.dx.maven_demo1 Y: : y #确认是否为以上参数 [INFO] -------------------------------------------------------------- [INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.1 [INFO] -------------------------------------------------------------- [INFO] Parameter: basedir, Value: D:\maven [INFO] Parameter: package, Value: com.dx.maven_demo1 [INFO] Parameter: groupId, Value: com.dx [INFO] Parameter: artifactId, Value: maven_demo1 [INFO] Parameter: packageName, Value: com.dx.maven_demo1 [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] project created from Old (1.x) Archetype in dir: D:\maven\maven_demo1 [INFO] ------------------------------------------------------------- [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------- [INFO] Total time: 06:30 min [INFO] Finished at: 2017-06-23T18:12:18+08:00 [INFO] Final Memory: 17M/262M [INFO] ------------------------------------------------------------- D:\maven>
此时,在d:\maven\就有一个工程maven_demo1
maven_demo1 java工程的目录结构:
D:\maven\.
D:\maven\maven_demo1\.
D:\maven\maven_demo1\pom.xml
D:\maven\maven_demo1\src\.
D:\maven\maven_demo1\src\main\.
D:\maven\maven_demo1\src\main\java\.
D:\maven\maven_demo1\src\main\java\com\.
D:\maven\maven_demo1\src\main\java\com\dx\.
D:\maven\maven_demo1\src\main\java\com\dx\maven_demo1\.
D:\maven\maven_demo1\src\main\java\com\dx\maven_demo1\App.java
D:\maven\maven_demo1\src\test\.
D:\maven\maven_demo1\src\test\java\.
D:\maven\maven_demo1\src\test\java\com\.
D:\maven\maven_demo1\src\test\java\com\dx\.
D:\maven\maven_demo1\src\test\java\com\dx\maven_demo1\.
D:\maven\maven_demo1\src\test\java\com\dx\maven_demo1\AppTest.java
备注:bat来遍历d:\maven目录
@echo off set work_path=D:\maven D: cd %work_path% for /R %%s in (.,*) do ( echo %%s ) pause
2)使用maven-archetype-webapp骨架来创建web project
1871: remote -> us.fatehi:schemacrawler-archetype-plugin-lint (-) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive co ntains): 990: maven-archetype-webapp Choose archetype: 1: remote -> org.apache.maven.archetypes:maven-archetype-webapp (An archetype wh ich contains a sample Maven Webapp project.) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive co ntains): : 1 Choose org.apache.maven.archetypes:maven-archetype-webapp version: 1: 1.0-alpha-1 2: 1.0-alpha-2 3: 1.0-alpha-3 4: 1.0-alpha-4 5: 1.0 Choose a number: 5: 5 Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/ma ven-archetype-webapp/1.0/maven-archetype-webapp-1.0.pom Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mav en-archetype-webapp/1.0/maven-archetype-webapp-1.0.pom (533 B at 866 B/s) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/ma ven-archetype-bundles/2/maven-archetype-bundles-2.pom Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mav en-archetype-bundles/2/maven-archetype-bundles-2.pom (1.5 kB at 2.8 kB/s) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetype/mav en-archetype-parent/1/maven-archetype-parent-1.pom Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetype/mave n-archetype-parent/1/maven-archetype-parent-1.pom (1.3 kB at 2.5 kB/s) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/ 4/maven-parent-4.pom Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/4 /maven-parent-4.pom (10.0 kB at 19 kB/s) Downloading: https://repo.maven.apache.org/maven2/org/apache/apache/3/apache-3.p om Downloaded: https://repo.maven.apache.org/maven2/org/apache/apache/3/apache-3.po m (3.4 kB at 6.3 kB/s) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/ma ven-archetype-webapp/1.0/maven-archetype-webapp-1.0.jar Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mav en-archetype-webapp/1.0/maven-archetype-webapp-1.0.jar (3.9 kB at 7.8 kB/s) Define value for property 'groupId': com.dx Define value for property 'artifactId': maven_webdemo1 Define value for property 'version' 1.0-SNAPSHOT: : Define value for property 'package' com.dx: : com.dx.maven_webdemo1 Confirm properties configuration: groupId: com.dx artifactId: maven_webdemo1 version: 1.0-SNAPSHOT package: com.dx.maven_webdemo1 Y: : y [INFO] ------------------------------------------------------------------------- --- [INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-webapp:1.0 [INFO] ------------------------------------------------------------------------- --- [INFO] Parameter: basedir, Value: D:\maven [INFO] Parameter: package, Value: com.dx.maven_webdemo1 [INFO] Parameter: groupId, Value: com.dx [INFO] Parameter: artifactId, Value: maven_webdemo1 [INFO] Parameter: packageName, Value: com.dx.maven_webdemo1 [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] project created from Old (1.x) Archetype in dir: D:\maven\maven_webdemo1 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:13 min [INFO] Finished at: 2017-06-23T18:37:24+08:00 [INFO] Final Memory: 16M/172M [INFO] ------------------------------------------------------------------------ D:\maven>