本文详解的讲解了使用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!

在随后的文章中我会推出Maven的进一步深入的文章,谢谢大家的观看!这里向大家推荐《Maven实战》这本书,它是对Maven的“从入门到精通”!
小编目前还在学校学习,在暑假花费了一下午写出此文,希望大牛、大神们看到文中的错误在评论区指导,谢谢你们!
也可以在评论区留下联系方式,我想请一位技术达人带一带我这个对知识渴望的菜比!
这里还有一位我的学长,目前在某讯工作,经常写一些注重理解层面的技术文章和职业经历,留下链接https://blog.csdn.net/hym740639005
---------------------
作者:青衣煮茶
来源:CSDN
原文:https://blog.csdn.net/wfy2695766757/article/details/81189291
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/wsy0202/p/11115030.html

使用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. [转] 前端实现文件的断点续传
  2. 收回误删并清除了回收站的文档
  3. 去掉IntelliJ IDEA 中 mybatis 对应的 xml 文件警告
  4. VirtualBox安装Centos6.8出现——E_INVALIDARG (0x80070057)
  5. 图片裁剪:CropZoom插件的应用
  6. 母函数——找单词(hdu2082)
  7. php 的定界符 eof
  8. hashmap是线程安全的吗?怎么解决?_线程安全及三种解决方案
  9. UVA 11732 - strcmp() Anyone?(Trie)
  10. 点击单选按钮 实现表格的隔行变色
  11. lodash 数组裁剪 drop
  12. 【期末划重点】电路与电子技术基础
  13. java类 英文文献_java英文参考文献
  14. zigbee协议栈工作流程 From zigbee菜鸟笔记(十 一)
  15. C实现的UDP压力测试工具
  16. echart饼状图上显示百分比
  17. python三角函数公式计算_使用Python三角函数公式计算三角形的夹角案例
  18. opencapwap简要分析
  19. Analyze 命令的使用方法
  20. 所谓的成长就是认知升级-成长就是应付自如

热门文章

  1. Ajax_ASP.NET 添加 Ajax 和客户端功能_01
  2. 自动论文生成器 python_Python生成器常见问题及解决方案
  3. mysql用户及权限管理_MySQL 用户及权限管理
  4. python while break try 无法中断_解码不能正常工作并且while循环不能正确中断python...
  5. java try catch_Java捕获异常
  6. 英特尔x722网卡驱动_产品详情 | 从核心到边缘,英特尔加速5G网络基础设施建设...
  7. python语言属于哪一种语言_Python与Java:你应该学习哪种语言,他们有什么区别?...
  8. MongoDB 自动删除集合中过期的数据——TTL索引
  9. 汇编语言中变量的声明
  10. 【TensorFlow学习笔记:神经网络优化(6讲)】