本文详解的讲解了使用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
版权声明:本文为博主原创文章,转载请附上博文链接!

使用IDEA创建Maven项目和Maven使用入门(配图详解)的更多相关文章

  1. maven pom文件简单模板和配置详解

    https://blog.csdn.net/earbao/article/details/49924943 maven pom文件简单模板和配置详解

  2. spring原理案例-基本项目搭建 02 spring jar包详解 spring jar包的用途

    Spring4 Jar包详解 SpringJava Spring AOP: Spring的面向切面编程,提供AOP(面向切面编程)的实现 Spring Aspects: Spring提供的对Aspec ...

  3. 单元测试系列之四:Sonar平台中项目主要指标以及代码坏味道详解

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6766994.html 众所周知Sona ...

  4. springboot项目--传入参数校验-----SpringBoot开发详解(五)--Controller接收参数以及参数校验----https://blog.csdn.net/qq_31001665/article/details/71075743

    https://blog.csdn.net/qq_31001665/article/details/71075743 springboot项目--传入参数校验-----SpringBoot开发详解(五 ...

  5. [转]Vue项目全局配置微信分享思路详解

    这篇文章给大家介绍了vue项目全局配置微信分享思路讲解,使用vue作为框架,使用vux作为ui组件库,具体内容详情大家跟随脚本之家小编一起学习吧 这个项目为移动端项目,主要用于接入公众号服务.项目采用 ...

  6. MariaDB(MySQL)创建、删除、选择及数据类型使用详解

    一.MariaDB简介(MySQL简介略过) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行 ...

  7. Eclipse 创建 Maven 项目、Maven JavaWeb 项目

    Eclipse 创建 Maven 项目         新建一个maven项目          (默认)(如果不行第一个Create a simple ... 也选中) 默认         Jav ...

  8. 手动创建spring项目(maven/IDEA环境)

    1.创建maven项目 按照步骤一步一步来 创建项目 这里选择maven的模板 设置包名 设置项目的maven的配置信息.maven仓库路径(会从maven配置文件中获取) 这里设置项目名.项目保存路 ...

  9. idea创建Maven项目时Maven插件内看不到mybatis-generator

    创建Maven项目时插件配置添加了mybatis-generator但是右侧maven project始终没有看到插件 需要放在和pluginManagement同级别,修改配置如下:

  10. (转)idea创建Maven项目时Maven插件内看不到mybatis-generator

    转载地址:https://blog.csdn.net/yytwiligt/article/details/81010360 创建Maven项目时插件配置添加了mybatis-generator但是右侧 ...

随机推荐

  1. asp.net mvc 系统操作日志设计

    第一步.系统登录日志 通过signalr来管理用户的登录情况,并保存用户的登录记录. 第二步 通过mvc过滤器,来横切路由访问记录. 保存方式:通过httpclient异步请求webapi 数据通过m ...

  2. hw笔试题-01

    #include <stdlib.h> #include <stdio.h> #include <string.h> int str_split(char *inp ...

  3. windows xp 安装后不能能ping,浏览器不能上网

    windows xp MSDN版本 下载地址: ed2k://|file|zh-hans_windows_xp_home_with_service_pack_3_x86_cd_x14-92408.is ...

  4. 明解C语言 中级篇 第三章答案

    练习3-1 /* 猜拳游戏(其四:分割函数/显示成绩)*/ #include <time.h> #include <stdio.h> #include <stdlib.h ...

  5. 【前端知识体系-JS相关】深入理解JavaScript异步和单线程

    1. 为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊. Jav ...

  6. 一篇文章帮你彻底搞清楚“I/O多路复用”和“异步I/O”的前世今生

    在网络的初期,网民很少,服务器完全无压力,那时的技术也没有现在先进,通常用一个线程来全程跟踪处理一个请求.因为这样最简单. 其实代码实现大家都知道,就是服务器上有个ServerSocket在某个端口监 ...

  7. python asyncio 关闭task

    import asyncio import time async def get_html(sleep_times): print("waiting") await asyncio ...

  8. springboot2+shiro+jwt整合

    参考:https://www.jianshu.com/p/ef0a82d471d2 https://www.jianshu.com/p/3c51832f1051 https://blog.csdn.n ...

  9. WPF Xaml中创建集合

    首先在xaml中创建集合是一个不可取的方法. 本方法仅作为xaml的学习. 本文略微无聊,主要是编写的东西都是老玩意. 首先是定义一个类,作为你要加载集合的模型. 结构如下 internal clas ...

  10. Knative 初体验:CICD 极速入门

    Knative 社区很早就在讨论用 Tekton 替换 Build 模块的相关事宜.Knative Build 官方已经正式说明不再建议使用 Knative Build 了. 如果你知道 Knativ ...