Java快速入门教程 3、使用IntelliJ IDEA+Maven 创建、开发、管理项目

前言

本文将介绍开发环境的配置以及如何使用intellij idea 和 maven 创建、开发和管理项目。

开发环境

  1. 操作系统:Windows 10 X64
  2. Java SDK:jdk-8u141
  3. Maven:3.5
  4. IDE:IntelliJ IDEA 2017

项目创建与运行

启动 IntelliJ IDEA,选择“Create New Project”或通过菜单“File -> New -> Project”来创建新项目。

选择“Maven”,然后选择 Maven 项目模板“maven-archetype-quickstart”。

接下来,输入项目的 Maven 坐标信息。

在 POM 文件中,groupIdartifactIdpackagingversion 被称为 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 配置

项目结构说明

  1. 根目录说明

目录/文件 说明(ken.io)
.idea IDEA 配置文件目录
src 源文件目录(源代码、静态资源等)
target 编译输出目录,用于存放编译后的文件(类文件、war 包、jar 包等)
helloworld.iml IDEA 用于记录 Module 配置的文件
pom.xml Maven Project 配置文件
External Libraries 用于查看 Project 的依赖
  1. 项目源文件目录说明

目录/文件 说明(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 文件说明


  4.0.0
  io.ken.helloworld
  helloworld
  1.0-SNAPSHOT
  jar
  helloworld
  http://maven.apache.org
  
    UTF-8
    3.8.1
  
  
    
      junit
      junit
      ${junit.version}
      test
    
  
参数 说明
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 创建、开发和管理项目。如果在实践过程中遇到问题,欢迎加入我们的交流群进行讨论。