本文详解的讲解了使用IDEA创建Maven项目,及Maven的基础入门。

1、打开IDEA,右上角选择File->New->Project

2、如图中所示选择Maven(可按自己所需添加,否则加载时速度很慢)

3、添加项目所需Groupld,ArtifactId,Version(后文会详细说明三者的配置要求)小编在这自己命名

4、设置Project name(项目名)Project location(工作区)

5、由于小编全部添加配置文件,所以等待时间较长。QWQ

6、耐心等待后右下角出现方框,如下:点击圆圈中的选项!!!(自动配置相关文件)

7、接下来我们看看它的文件结构,如下图:

(1)在大多数情况下,把项目的主代码放到 src/main/java 目录下(遵循Maven约定),如果没有其他的配置,Maven在运行时将自动搜寻该目录下的主代码。

(2)为了使项目的结构保持清晰,所以IDEA自动创建了 test 文件,将主代码和测试代码分别放到了独立的目录中。

(3)pom.xml为Maven的核心配置文件,它的全称为(Project Object Model,项目对象模型),我们在使用Maven的时候也通常在这个pom .xml 中配置。

8、pom.xml              !!!核心配置

<?xml version="1.0" encoding="UTF-8"?>
<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.feiyu.web</groupId><artifactId>hello-world</artifactId><version>1.0-SNAPSHOT</version></project>

(一)第一行是xml头,指定了xml文档的版本信息和编码方式,目前version的默认版本号为 1.0  编码方式为 UTF-8。

(二)<project>为所有pom.xml的根元素,声明了一些POM相关的命名空间及xsd元素,这些元素不是pom.xml中必须添加的,但是使用这些属性可以使第三方工具,如IDE中的xml编辑器帮助开发者快速编辑POM。

(三)根元素下第一个子元素 <modeVersion> 指定了当前POM模板的版本,对于现在大多数开发者而言,Maven 2  Maven 3 

这个版本号只能为4.0.0。

(四)<groupId> 定义了该项目属于哪个项目组,在企业级开发中,通常和该项目所属的组织和公司有关。比如:BATcode上有一个名为ourApp的项目,这样一来groupId的名字就应该是com.BATcode.ourApp。本文中的代码都为com.feiyu.helloMaven。

(五)<artifactId>定义了当前Maven项目在项目组的唯一一个ID,本文中 Hello Maven artifactId为hello-Maven,在实际开发中会分配其他的 artifactId ,而之前的 groupId ,可能会为不同的子项目(模块)分配artifactId。

(六)<version>定义了Hello Maven项目当前的版本号 1.0-SNAPSHOT 为IDEA默认的初始版本号,随着项目的开发进度,版本号升级为1.1 、2.0 等。

(七)在没有实际的java代码时,我们就可以完整的创建一个Maven项目的pom.xml,这说明了Maven可以使项目对象模型最大程度的与代码相独立,这充分体现了解耦的原则和理念!为开发者节省了时间,大大缩短了项目开发周期。在项目开发到稳定期时,升级版本时,开发者可以不需要修改实际的 java 代码,而是只修改pom.xml,这一特点使Maven被广泛的使用。

9、编写主代码

项目主代码和测试代码不同,主代码会被打包到最终的构件中,而测试代码只在运行测试时用到,不会被打包。我们在src/main/java中创建文件com/feiyu/web/helloworld/helloWorld.java,代码如下:

package com.feiyu.web.helloworld;public class HelloWorld {public String sayHello() {return "Hello Maven!";}public static void main(String[] args) {System.out.println(new HelloWorld().sayHello());}
}

一般来说pom.xml中定义的groupId和artifactId要与包名相匹配,这样可以使结构更加清晰。

10、运行主代码

在控制台中我们看到运行成功,输出了 Hello Maven! 

(一)使用IDEA创建Maven项目和Maven使用入门(配图详解)相关推荐

  1. maven项目对接harbor镜像仓库配置详解分析

    一.配置自定义maven仓库的settings.xml文件 大概130左右的样子添加: <server><!--maven的pom中可以根据这个id找到这个server节点的配置-- ...

  2. IDEA创建空项目【针对Java】图文详解

    大佬们,请路过,对于各位大佬来说已经是小菜一碟了.本文是为刚刚接触到IDEA的小伙伴们准备的. 工欲善其事,必先利其器. 文章目录 一 新建一个空项目 二 选择empty Project 三 输入项目 ...

  3. Maven项目的介绍、入门搭建

    Maven项目的介绍.入门搭建 一.什么是Maven项目 Maven 是 Apache 组织下的一个跨平台的项目管理工具,它主要用来帮助实现项目的构建.测试.打包和部署.Maven 提供了标准的软件生 ...

  4. 配置maven仓库 手写maven项目 配置maven打包

    配置maven仓库 手写maven项目 配置maven打包 操作录像 maven环境变量 maven仓库 maven标准pom.xml maven打包插件 附录:FreeBSD默认环境变量 操作录像 ...

  5. pycharm导入python环境是空的_PyCharm导入python项目并配置虚拟环境的教程详解

    PyCharm导入python项目并配置虚拟环境的教程详解 进入PyCharm后,点击File→Open,然后在弹窗中选择需要导入项目的文件夹: 打开了python项目后,需要配置该项目对应的pyth ...

  6. python避坑_Django搭建项目实战与避坑细节详解

    Django 开发项目是很快的,有多快?看完本篇文章,你就知道了. 安装 Django 前提条件:已安装 Python. Django 使用 pip 命令直接就可以安装: pip install dj ...

  7. Gradle ExtenionContainer 创建和使用扩展参数(extensions)详解

    Gradle ExtenionContainer 创建和使用扩展参数(extensions)详解 我们在开发 Gradle 插件时,大多数插件都需要从构建脚本中获取一些配置,这样就可以根据项目的不同, ...

  8. 基于RK3399ESP8285自动售货柜项目—MP08开发板端代码详解

    基于RK3399&ESP8285自动售货柜项目-②MP08开发板端代码详解 本系列文章将详细讲解该基于RK3399及ESP8285自动售货柜的完整实现方法,从硬件连接到网络通信再到软件实现,本 ...

  9. Java中创建String的两道面试题及详解

    转载自 Java中创建String的两道面试题及详解 我们知道创建一个String类型的变量一般有以下两种方法: String str1 = "abcd";String str2 ...

  10. linux 软链接 相对路径,Linux入门之ln命令创建软链接的绝对路径和相对路径详解(Ubuntu)...

    ln命令创建软链接的绝对路径和相对路径详解 简介 ln命令 总结 简介 Linux链接,可以分为硬链接与软链接:本文主要介绍软链接.(默认情况下,ln命令产生硬链接) 软链接文件类似于Windows的 ...

最新文章

  1. maven2学习总结(1,入门起步与实践)
  2. 解决strings: '/lib/libc.so.6': No such file
  3. 前端学习(3173):react-hello-react之todoList教程
  4. 深度模型压缩论文(01)- Meta Filter Pruning to Accelerate Deep Convolutional Neural Networks
  5. 靠加班?靠团建?靠个人?请停止无效努力!
  6. eclipse 插件扩展新建java页面_java-Eclipse插件:创建动态菜单和相应的处理...
  7. Markdown 语法速查表
  8. 暑期读书月开幕式暨天一寻宝活动
  9. 智能生活雷达应用,微波雷达技术发展,微波雷达感应模块方案
  10. bootstrap table 超链接的添加 a标签
  11. Win10无法调节亮度解决方法
  12. 超漂亮的网页图文排版
  13. java是高级还是低级语言_程序员:高级与低级编程语言,您应该学习哪些内容?...
  14. HM-3200: Tetramesh(四面体网格)
  15. 如何让安卓APP一直在后台运行?
  16. PCL学习笔记1 —— PCL库简要说明
  17. linux c 读取u盘mbr,fbinst 启动U盘解读(MBR层面)
  18. 89c52流水灯汇编语言,89c52单片机流水灯汇编程序
  19. python图形界面设计代码_(八)Python 图形化界面设计
  20. 韩顺平 2021零基础学Java 学习笔记

热门文章

  1. “扫五福”的实现原理和技术详解
  2. CPU镜头和非CPU镜头
  3. qimage 像素 替换颜色_像素画基础规则新手快速入门教程
  4. [NeurIPS 2021] TokenLearner:自适应学习 token 个数和位置 - What Can 8 Learned Tokens Do for Images and Videos?
  5. MediaPipe Iris_ 实时虹膜跟踪与深度估计
  6. 人眼立体视觉形成的原理及立体图形获得的方式
  7. Ubuntu服务器上安装Anaconda环境以及Vim的简单使用
  8. linux传输文件特别慢,加快Linux文件拷贝速度的两大方法
  9. 科普 | 典型的知识库/链接数据/知识图谱项目
  10. 基于SSM和Boostrap实现的电影评论网站设计