(一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
本文详解的讲解了使用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使用入门(配图详解)相关推荐
- maven项目对接harbor镜像仓库配置详解分析
一.配置自定义maven仓库的settings.xml文件 大概130左右的样子添加: <server><!--maven的pom中可以根据这个id找到这个server节点的配置-- ...
- IDEA创建空项目【针对Java】图文详解
大佬们,请路过,对于各位大佬来说已经是小菜一碟了.本文是为刚刚接触到IDEA的小伙伴们准备的. 工欲善其事,必先利其器. 文章目录 一 新建一个空项目 二 选择empty Project 三 输入项目 ...
- Maven项目的介绍、入门搭建
Maven项目的介绍.入门搭建 一.什么是Maven项目 Maven 是 Apache 组织下的一个跨平台的项目管理工具,它主要用来帮助实现项目的构建.测试.打包和部署.Maven 提供了标准的软件生 ...
- 配置maven仓库 手写maven项目 配置maven打包
配置maven仓库 手写maven项目 配置maven打包 操作录像 maven环境变量 maven仓库 maven标准pom.xml maven打包插件 附录:FreeBSD默认环境变量 操作录像 ...
- pycharm导入python环境是空的_PyCharm导入python项目并配置虚拟环境的教程详解
PyCharm导入python项目并配置虚拟环境的教程详解 进入PyCharm后,点击File→Open,然后在弹窗中选择需要导入项目的文件夹: 打开了python项目后,需要配置该项目对应的pyth ...
- python避坑_Django搭建项目实战与避坑细节详解
Django 开发项目是很快的,有多快?看完本篇文章,你就知道了. 安装 Django 前提条件:已安装 Python. Django 使用 pip 命令直接就可以安装: pip install dj ...
- Gradle ExtenionContainer 创建和使用扩展参数(extensions)详解
Gradle ExtenionContainer 创建和使用扩展参数(extensions)详解 我们在开发 Gradle 插件时,大多数插件都需要从构建脚本中获取一些配置,这样就可以根据项目的不同, ...
- 基于RK3399ESP8285自动售货柜项目—MP08开发板端代码详解
基于RK3399&ESP8285自动售货柜项目-②MP08开发板端代码详解 本系列文章将详细讲解该基于RK3399及ESP8285自动售货柜的完整实现方法,从硬件连接到网络通信再到软件实现,本 ...
- Java中创建String的两道面试题及详解
转载自 Java中创建String的两道面试题及详解 我们知道创建一个String类型的变量一般有以下两种方法: String str1 = "abcd";String str2 ...
- linux 软链接 相对路径,Linux入门之ln命令创建软链接的绝对路径和相对路径详解(Ubuntu)...
ln命令创建软链接的绝对路径和相对路径详解 简介 ln命令 总结 简介 Linux链接,可以分为硬链接与软链接:本文主要介绍软链接.(默认情况下,ln命令产生硬链接) 软链接文件类似于Windows的 ...
最新文章
- maven2学习总结(1,入门起步与实践)
- 解决strings: '/lib/libc.so.6': No such file
- 前端学习(3173):react-hello-react之todoList教程
- 深度模型压缩论文(01)- Meta Filter Pruning to Accelerate Deep Convolutional Neural Networks
- 靠加班?靠团建?靠个人?请停止无效努力!
- eclipse 插件扩展新建java页面_java-Eclipse插件:创建动态菜单和相应的处理...
- Markdown 语法速查表
- 暑期读书月开幕式暨天一寻宝活动
- 智能生活雷达应用,微波雷达技术发展,微波雷达感应模块方案
- bootstrap table 超链接的添加 a标签
- Win10无法调节亮度解决方法
- 超漂亮的网页图文排版
- java是高级还是低级语言_程序员:高级与低级编程语言,您应该学习哪些内容?...
- HM-3200: Tetramesh(四面体网格)
- 如何让安卓APP一直在后台运行?
- PCL学习笔记1 —— PCL库简要说明
- linux c 读取u盘mbr,fbinst 启动U盘解读(MBR层面)
- 89c52流水灯汇编语言,89c52单片机流水灯汇编程序
- python图形界面设计代码_(八)Python 图形化界面设计
- 韩顺平 2021零基础学Java 学习笔记
热门文章
- “扫五福”的实现原理和技术详解
- CPU镜头和非CPU镜头
- qimage 像素 替换颜色_像素画基础规则新手快速入门教程
- [NeurIPS 2021] TokenLearner:自适应学习 token 个数和位置 - What Can 8 Learned Tokens Do for Images and Videos?
- MediaPipe Iris_ 实时虹膜跟踪与深度估计
- 人眼立体视觉形成的原理及立体图形获得的方式
- Ubuntu服务器上安装Anaconda环境以及Vim的简单使用
- linux传输文件特别慢,加快Linux文件拷贝速度的两大方法
- 科普 | 典型的知识库/链接数据/知识图谱项目
- 基于SSM和Boostrap实现的电影评论网站设计