- Maven教程
- Maven - 主页
- Maven - 概述
- Maven - 环境设置
- Maven-POM
- Maven - 构建生命周期
- Maven - 构建配置文件
- Maven - 存储库
- Maven - 插件
- Maven - 创建项目
- Maven - 构建和测试项目
- Maven - 外部依赖项
- Maven - 项目文档
- Maven - 项目模板
- Maven - 快照
- Maven - 构建自动化
- Maven - 管理依赖关系
- Maven - 部署自动化
- Maven - Web 应用程序
- Maven - Eclipse IDE
- Maven - NetBeans
- Maven-IntelliJ IDEA
- Maven 有用资源
- Maven - 问题与解答
- Maven - 快速指南
- Maven - 有用的资源
- Maven - 讨论
Maven - 项目模板
Maven 使用Archetype的概念为用户提供了一个非常大的不同类型的项目模板列表(数量为 614 个) 。Maven帮助用户使用以下命令快速启动一个新的java项目。
mvn archetype:generate
什么是原型?
Archetype 是一个 Maven 插件,其任务是根据其模板创建项目结构。我们将在这里使用快速入门原型插件创建一个简单的 java 应用程序。
使用项目模板
我们打开命令控制台,进入C:\ > MVN目录并执行以下mvn命令。
C:\MVN>mvn archetype:generate
Maven 将开始处理并要求选择所需的原型。
C:\MVN>mvn archetype:generate [INFO] Scanning for projects... [INFO] [INFO] ------------------< org.apache.maven:standalone-pom >------------------- [INFO] Building Maven Stub Project (No POM) 1 [INFO] --------------------------------[ pom ]--------------------------------- [INFO] [INFO] >>> maven-archetype-plugin:3.2.0:generate (default-cli) > generate-sources @ standalone-pom >>> [INFO] [INFO] <<< maven-archetype-plugin:3.2.0:generate (default-cli) < generate-sources @ standalone-pom <<< [INFO] [INFO] [INFO] --- maven-archetype-plugin:3.2.0:generate (default-cli) @ standalone-pom --- [INFO] Generating project in Interactive mode [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0) Choose archetype: 1: remote -> am.ik.archetype:elm-spring-boot-blank-archetype (Blank multi project for Spring Boot + Elm) 2: remote -> am.ik.archetype:graalvm-blank-archetype (Blank project for GraalVM) ... 3021: remote -> za.co.absa.hyperdrive:component-archetype_2.12 (-) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 1843:
按 Enter 键选择默认选项(1843:maven-archetype-quickstart)
Maven 将询问原型的特定版本。
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 7: 1.3 8: 1.4 Choose a number: 8:
按 Enter 键选择默认选项 (8: maven-archetype-quickstart:1.4)
Maven 将询问项目详细信息。按要求输入项目详细信息。如果提供了默认值,请按 Enter。您可以通过输入自己的值来覆盖它们。
Define value for property 'groupId': : com.companyname.insurance Define value for property 'artifactId': : health Define value for property 'version': 1.0-SNAPSHOT: Define value for property 'package': com.companyname.insurance:
Maven 将要求确认项目详细信息。按 Enter 或按 Y。
Confirm properties configuration: groupId: com.companyname.insurance artifactId: health version: 1.0-SNAPSHOT package: com.companyname.insurance Y:
现在 Maven 将开始创建项目结构并显示以下内容 -
[INFO] ---------------------------------------------------------------------------- [INFO] Using following parameters for creating project from Archetype: maven-archetype-quickstart:1.4 [INFO] ---------------------------------------------------------------------------- [INFO] Parameter: groupId, Value: com.companyname.insurance [INFO] Parameter: artifactId, Value: health [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: package, Value: com.companyname.insurance [INFO] Parameter: packageInPathFormat, Value: com/companyname/insurance [INFO] Parameter: package, Value: com.companyname.insurance [INFO] Parameter: groupId, Value: com.companyname.insurance [INFO] Parameter: artifactId, Value: health [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Project created from Archetype in dir: C:\MVN\health [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 04:44 min [INFO] Finished at: 2021-12-13T18:52:59+05:30 [INFO] ------------------------------------------------------------------------
创建项目
现在转到C:\ > MVN目录。您将看到创建了一个名为health的 java 应用程序项目,该项目在项目创建时作为artifactId给出。Maven 将为项目创建一个标准目录布局,如下所示 -
创建 POM.xml
Maven 为项目生成一个 POM.xml 文件,如下所示 -
<project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.companyname.insurance</groupId> <artifactId>health</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>health</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
创建App.java
Maven 为项目生成示例 java 源文件 App.java,如下所示 -
位置:C:\ > MVN > health > src > main > java > com > 公司名称 > 保险 > App.java。
package com.companyname.insurance; /** * Hello world! * */ public class App { public static void main( String[] args ) { System.out.println( "Hello World!" ); } }
创建AppTest.java
Maven 为项目生成示例 java 源测试文件 AppTest.java,如下所示 -
位置:C:\ > MVN > health > src > test > java > com > 公司名称 > 保险 > AppTest.java。
package com.companyname.insurance; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; /** * Unit test for simple App. */ public class AppTest extends TestCase { /** * Create the test case * * @param testName name of the test case */ public AppTest( String testName ) { super( testName ); } /** * @return the suite of tests being tested */ public static Test suite() { return new TestSuite( AppTest.class ); } /** * Rigourous Test :-) */ public void testApp() { assertTrue( true ); } }
现在您可以看到 Maven 的强大功能了。您可以在 Maven 中使用单个命令创建任何类型的项目,并可以启动您的开发。
不同的原型
先生。 | 原型 ArtifactId 和描述 |
---|---|
1 | maven-原型-原型 原型,其中包含示例原型。 |
2 | maven-原型-j2ee-简单 一个原型,其中包含一个简化的示例 J2EE 应用程序。 |
3 | maven-原型-mojo 一个原型,其中包含示例 Maven 插件示例。 |
4 | maven-原型-插件 一个原型,其中包含示例 Maven 插件。 |
5 | maven-原型-插件站点 一个原型,其中包含示例 Maven 插件站点。 |
6 | maven-原型-portlet 一个原型,其中包含一个示例 JSR-268 Portlet。 |
7 | maven-原型-快速入门 一个原型,其中包含示例 Maven 项目。 |
8 | Maven 原型简单 一个原型,包含一个简单的 Maven 项目。 |
9 | Maven 原型站点 原型,其中包含示例 Maven 站点,用于演示一些受支持的文档类型(如 APT、XDoc 和 FML),并演示如何国际化您的站点。 |
10 | Maven 原型站点简单 一个原型,其中包含示例 Maven 站点。 |
11 | maven-原型-webapp 一个原型,其中包含示例 Maven Webapp 项目。 |