Maven 简明教程

Maven - Creating Project

Maven 使用 archetype 插件创建项目。为了创建简单的 Java 应用程序,我们将使用 maven-archetype-quickstart 插件。在下面的示例中,我们将使用 C:\MVN 文件夹创建一个基于 maven 的 java 应用程序项目。

Maven uses archetype plugins to create projects. To create a simple java application, we’ll use maven-archetype-quickstart plugin. In example below, we’ll create a maven based java application project in C:\MVN folder.

让我们打开命令控制台,进入 C:\MVN 目录并执行以下 mvn 命令。确保在运行命令之前 C:\MVN 目录处于空状态。

Let’s open the command console, go to the C:\MVN directory and execute the following mvn command. Make sure that C:\MVN directory is empty before running the command.

C:\MVN>mvn archetype:generate
-DgroupId = com.companyname.bank
-DartifactId = consumerBanking
-DarchetypeArtifactId = maven-archetype-quickstart
-DinteractiveMode = false

Maven 将开始处理并创建完整的 Java 应用程序项目结构。

Maven will start processing and will create the complete java application project structure.

C:\MVN>mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
[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 Batch mode
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.0
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: basedir, Value: C:\MVN
[INFO] Parameter: package, Value: com.companyname.bank
[INFO] Parameter: groupId, Value: com.companyname.bank
[INFO] Parameter: artifactId, Value: consumerBanking
[INFO] Parameter: packageName, Value: com.companyname.bank
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: C:\MVN\consumerBanking
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  9.396 s
[INFO] Finished at: 2021-12-13T15:13:00+05:30
[INFO] ------------------------------------------------------------------------

C:\MVN>

现在,进入 C:/MVN 目录。你将看到一个名为“消费者银行”(在 artifactId 中指定)的 Java 应用程序项目已创建。Maven 使用下面所示的标准目录布局 −

Now go to C:/MVN directory. You’ll see a java application project created, named consumer Banking (as specified in artifactId). Maven uses a standard directory layout as shown below −

project structure

使用上述示例,我们可以了解到以下关键概念 −

Using the above example, we can understand the following key concepts −

Sr.No.

Folder Structure & Description

1

consumerBanking contains src folder and pom.xml

2

src/main/java contains java code files under the package structure (com/companyName/bank).

3

src/main/test contains test java code files under the package structure (com/companyName/bank).

4

src/main/resources it contains images/properties files (In above example, we need to create this structure manually).

如果你仔细观察,你会发现 Maven 还会创建一个示例 Java 源文件和 Java 测试文件。打开 C:\MVN\consumerBanking\src\main\java\com\companyname\bank 文件夹,你将看到 App.java。

If you observe, you will find that Maven also created a sample Java Source file and Java Test file. Open C:\MVN\consumerBanking\src\main\java\com\companyname\bank folder, you will see App.java.

package com.companyname.bank;

/**
 * Hello world!
 *
 */
public class App {
	public static void main( String[] args ){
		System.out.println( "Hello World!" );
	}
}

打开 C:\MVN\consumerBanking\src\test\java\com\companyname\bank 文件夹,查看 AppTest.java

Open C:\MVN\consumerBanking\src\test\java\com\companyname\bank folder to see AppTest.java.

package com.companyname.bank;

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 会处理所有与构建相关的复杂性。

Developers are required to place their files as mentioned in table above and Maven handles all the build related complexities.

在下一章中,我们将讨论如何使用 maven 构建和测试项目,即构建和测试项目。

In the next chapter, we’ll discuss how to build and test the project using maven Build and Test Project.