前言
本文将介绍开发环境的配置以及如何使用intellij idea 和 maven 创建、开发和管理项目。
开发环境
项目创建与运行
启动 intellij idea,选择“Create New Project”或通过菜单“File -> New -> Project”来创建新项目。
选择“Maven”,然后选择 Maven 项目模板“maven-archetype-quickstart”。
立即学习“Java免费学习笔记(深入)”;
接下来,输入项目的 Maven 坐标信息。
在 POM 文件中,groupId、artifactId、packaging 和 version 被称为 Maven 坐标,用于唯一标识一个项目。通过这些坐标,我们可以指定项目所依赖的其他项目、插件或父项目。
参数 | 说明 |
---|---|
groupId | 代表组织和整个项目的唯一标志。例如,所有的 Maven 组件的 groupId 都是 org.apache.maven。 |
artifactId | 具体项目的名称,与 groupId 一起确定项目在 Maven 仓库中的位置。例如,groupId=org.codehaus.mojo, artifactId=my-project 的项目,在 Maven 仓库中的位置为:$M2_REPO/org/codehaus/mojo/my-project。 |
version | 用于说明目前项目的版本,用于引用依赖时确定具体依赖的版本号。 |
packaging | 规定项目的输出格式,包括 jar、war、pom、apk 等,根据实际需要确定。例如,开发一般的 Java 库,可以使用 jar packaging;开发 android 应用则使用 apk packaging。 |
一般 Maven 坐标的格式如下:
groupId:artifactId:packaging:version
虽然在不将项目提交到 Maven 官方仓库的情况下,这不是强制约束,但建议无论大小项目都遵守 Maven 的命名标准。
选择 Maven 配置和仓库等设置。之前已经配置过,可以保留默认设置。
指定项目名称和项目目录。项目名称仅用于显示,与 Maven 坐标无关。
如果项目文件夹未创建,会提示帮你创建,选择“OK”后,IDEA 会进行项目创建和初始化工作。
阅读 IDEA 使用提示。
开启 Maven Project 自动导入。
项目创建完成后,IDEA 会识别到这是一个 Maven 项目,并询问是否导入到项目的 IDEA 配置中。选择开启自动导入即可。
启动应用程序。
双击打开 App.java 文件,然后在文件编辑区域唤出鼠标右键菜单,选择“Run App.main()”;或者直接使用快捷键 Ctrl+Shift+F10,IDEA 会自动帮你创建调试配置并启动应用程序。运行结果会在 IDEA 底部的 console 面板显示。(当然也可以通过运行 AppTest 来运行单元测试)
至此,我们就完成了使用 IntelliJ IDEA 和 Maven 创建并运行的第一个项目。
项目结构与 Maven 配置
项目结构说明
- 根目录说明
目录/文件 | 说明(ken.io) |
---|---|
.idea | IDEA 配置文件目录 |
src | 源文件目录(源代码、静态资源等) |
target | 编译输出目录,用于存放编译后的文件(类文件、war 包、jar 包等) |
helloworld.iml | IDEA 用于记录 Module 配置的文件 |
pom.xml | Maven Project 配置文件 |
External Libraries | 用于查看 Project 的依赖 |
- 项目源文件目录说明
目录/文件 | 说明(ken.io) |
---|---|
src/main | 项目主目录 |
src/main/java | 项目的源代码所在的目录(Sources Root) |
src/main/resources | 项目的资源文件所在的目录(Resources Root) |
src/main/filters | 项目的资源过滤文件所在的目录 |
src/main/webapp | web 项目的配置、视图等目录 |
src/main/java/io.ken.helloworld | io.ken.helloworld 是 module 的默认 package,Maven 的规范 |
src/test | 项目测试目录(Sources Root) |
src/test/java | 测试代码所在的目录(Resources Root) |
src/test/resources | 测试相关的资源文件所在的目录 |
src/test/filters | 测试相关的资源过滤文件所在的目录 |
大多数情况下,一个项目都只有一个 Module 构成,需要进行分层都会通过 package 来完成。例如:
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>io.ken.helloworld</groupid> <artifactid>helloworld</artifactid> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>helloworld</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceencoding>UTF-8</project.build.sourceencoding> <junit.version>3.8.1</junit.version> </properties> <dependencies> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>${junit.version}</version> <scope>test</scope> </dependency> </dependencies> </project>
参数 | 说明 |
---|---|
modelVersion | Maven 配置版本 |
groupId | 代表组织和整个项目的唯一标志。例如,所有的 Maven 组件的 groupId 都是 org.apache.maven。 |
artifactId | 具体项目的名称,与 groupId 一起确定项目在 Maven 仓库中的位置。例如,groupId=org.codehaus.mojo, artifactId=my-project 的项目,在 Maven 仓库中的位置为:$M2_REPO/org/codehaus/mojo/my-project。 |
version | 用于说明目前项目的版本,用于引用依赖时确定具体依赖的版本号。 |
packaging | 规定项目的输出格式,包括 jar、war、pom、apk 等,根据实际需要确定。例如,开发一般的 Java 库,可以使用 jar packaging;开发 Android 应用则使用 apk packaging。 |
name | 项目显示名称 |
url | 项目地址 |
properties | 用于定义变量,可以在当前配置文件 pom.xml 以及子 Module 的 pom.xml 中引用,引用方式:${propertyname},例如:${junit.version} |
dependencies | 用户配置 Module 的依赖 |
备注
本文介绍了如何使用 IntelliJ IDEA 和 Maven 创建、开发和管理项目。如果在实践过程中遇到问题,欢迎加入我们的交流群进行讨论。