在基于 IntelliJ IDEA 创建 Maven 项目之前,让我们先梳理一下 Maven 项目的 GAVP,即 GroupId、ArtifactId、Version、和 Packaging。
-
GroupId (组标识符):
- 用于唯一标识项目所属的组织或公司,通常使用反转的域名格式。例如,
com.example
是一个常见的 GroupId。 - 示例:
<groupId>com.example</groupId>
- 用于唯一标识项目所属的组织或公司,通常使用反转的域名格式。例如,
-
ArtifactId (项目标识符):
- 用于唯一标识项目的名称。ArtifactId 通常是项目的名称,没有空格或特殊字符。
- 示例:
<artifactId>my-project</artifactId>
-
Version (版本号):
- 用于唯一标识项目的版本。Maven 使用版本号来管理项目的不同版本。
- 示例:
<version>1.0-SNAPSHOT</version>
-
Packaging (打包方式):
- 用于指定项目构建时的打包方式。常见的包括 JAR、WAR、和 EAR。
- 示例:
<packaging>jar</packaging>
现在,让我们看一下在 IntelliJ IDEA 中如何基于 Maven 创建一个新的项目:
-
打开 IntelliJ IDEA,并选择 “File” -> “New” -> “Project”.
-
在 “New Project” 窗口中,选择 “Maven” 选项,并确保勾选 “Create from archetype”。
-
在 “Select archetype” 中,选择一个 Maven Archetype,Archetype 是 Maven 项目的模板。你可以选择适合你项目类型的 Archetype,比如
maven-archetype-quickstart
。 -
在 “GroupId”、“ArtifactId”、“Version” 中填写你的项目的 GAV 信息。
-
点击 “Next” 按钮,设置项目名称和位置,然后点击 “Finish” 完成创建。
IntelliJ IDEA 将会自动下载 Maven Archetype,并为你生成一个基本的 Maven 项目结构。之后,你可以在 IntelliJ IDEA 中进行开发、构建和运行你的 Maven 项目。
假设我们创建了一个简单的 Java Web 项目,它是一个在线图书管理系统。我们将通过 Maven 构建和管理这个项目。
GAVP 信息:
- GroupId:
com.example.library
- ArtifactId:
online-library
- Version:
1.0-SNAPSHOT
- Packaging:
war
(因为这是一个 Web 项目)
项目结构:
online-library
|-- src
| `-- main
| |-- java
| | `-- com
| | `-- example
| | `-- library
| | |-- Book.java
| | `-- LibraryApp.java
| |-- resources
| `-- webapp
| `-- WEB-INF
| `-- web.xml
`-- pom.xml
Book.java:
package com.example.library;
public class Book {
private String title;
private String author;
// Constructors, getters, setters
}
LibraryApp.java:
package com.example.library;
public class LibraryApp {
public static void main(String[] args) {
Book book = new Book();
book.setTitle("Introduction to Maven");
book.setAuthor("John Doe");
System.out.println("Book Title: " + book.getTitle());
System.out.println("Book Author: " + book.getAuthor());
}
}
web.xml (位于 src/main/webapp/WEB-INF
目录下):
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!-- Web Application Configuration -->
</web-app>
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.example.library</groupId>
<artifactId>online-library</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<!-- Add your dependencies here -->
</dependencies>
</project>
这个项目是一个简单的图书管理系统,使用了 Maven 进行构建。它包括一个简单的 Java 类 Book
用于表示图书,以及一个 LibraryApp
类作为入口点,演示了如何创建一本书并输出其标题和作者。Web 部分还包括了一个基本的 web.xml
文件,用于配置 Web 应用。
请注意,pom.xml
文件中的 <dependencies>
部分是空的,你可以根据项目的实际需要添加任何额外的依赖项。