使用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!
在随后的文章中我会推出Maven的进一步深入的文章,谢谢大家的观看!这里向大家推荐《Maven实战》这本书,它是对Maven的“从入门到精通”!
小编目前还在学校学习,在暑假花费了一下午写出此文,希望大牛、大神们看到文中的错误在评论区指导,谢谢你们!
也可以在评论区留下联系方式,我想请一位技术达人带一带我这个对知识渴望的菜比!
这里还有一位我的学长,目前在某讯工作,经常写一些注重理解层面的技术文章和职业经历,留下链接https://blog.csdn.net/hym740639005
---------------------
作者:青衣煮茶
来源:CSDN
原文:https://blog.csdn.net/wfy2695766757/article/details/81189291
版权声明:本文为博主原创文章,转载请附上博文链接!
使用IDEA创建Maven项目和Maven使用入门(配图详解)的更多相关文章
- maven pom文件简单模板和配置详解
https://blog.csdn.net/earbao/article/details/49924943 maven pom文件简单模板和配置详解
- spring原理案例-基本项目搭建 02 spring jar包详解 spring jar包的用途
Spring4 Jar包详解 SpringJava Spring AOP: Spring的面向切面编程,提供AOP(面向切面编程)的实现 Spring Aspects: Spring提供的对Aspec ...
- 单元测试系列之四:Sonar平台中项目主要指标以及代码坏味道详解
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6766994.html 众所周知Sona ...
- springboot项目--传入参数校验-----SpringBoot开发详解(五)--Controller接收参数以及参数校验----https://blog.csdn.net/qq_31001665/article/details/71075743
https://blog.csdn.net/qq_31001665/article/details/71075743 springboot项目--传入参数校验-----SpringBoot开发详解(五 ...
- [转]Vue项目全局配置微信分享思路详解
这篇文章给大家介绍了vue项目全局配置微信分享思路讲解,使用vue作为框架,使用vux作为ui组件库,具体内容详情大家跟随脚本之家小编一起学习吧 这个项目为移动端项目,主要用于接入公众号服务.项目采用 ...
- MariaDB(MySQL)创建、删除、选择及数据类型使用详解
一.MariaDB简介(MySQL简介略过) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行 ...
- Eclipse 创建 Maven 项目、Maven JavaWeb 项目
Eclipse 创建 Maven 项目 新建一个maven项目 (默认)(如果不行第一个Create a simple ... 也选中) 默认 Jav ...
- 手动创建spring项目(maven/IDEA环境)
1.创建maven项目 按照步骤一步一步来 创建项目 这里选择maven的模板 设置包名 设置项目的maven的配置信息.maven仓库路径(会从maven配置文件中获取) 这里设置项目名.项目保存路 ...
- idea创建Maven项目时Maven插件内看不到mybatis-generator
创建Maven项目时插件配置添加了mybatis-generator但是右侧maven project始终没有看到插件 需要放在和pluginManagement同级别,修改配置如下:
- (转)idea创建Maven项目时Maven插件内看不到mybatis-generator
转载地址:https://blog.csdn.net/yytwiligt/article/details/81010360 创建Maven项目时插件配置添加了mybatis-generator但是右侧 ...
随机推荐
- lua 8 字符串
转自:http://www.runoob.com/lua/lua-strings.html 字符串或串(String)是由数字.字母.下划线组成的一串字符. Lua 语言中字符串可以使用以下三种方式来 ...
- 《淘宝数据库OceanBase SQL编译器部分 源码阅读--解析SQL语法树》
淘宝数据库OceanBase SQL编译器部分 源码阅读--解析SQL语法树 曾经的学渣 2014-06-05 18:38:00 浏览1455 云数据库Oceanbase OceanBase是 ...
- 小程序-promise封装小程序的请求方法
// 在utils-->base.js中,封装一个Base类,有一个axios方法 class Base{ constructor(){ } axios(method,url,data){ co ...
- c++负数下标
如何使用负数下标呢? 让数组前面有东西 int y[100]; int *z = y + 50; 这样的话调用\(z[-50]\)就变成了调用\(y[0]\) z[-50] = y[0]; 然后这样就 ...
- 【新特性速递】CSS3动画增强
FineUIPro/Mvc/Core的下个版本(v6.1.0),我们对多个地方的CSS3动画进行了增强,使得用户体验更好. 1. 树控件启用EnableSingleExpand时,使得展开动画和折叠其 ...
- Unity开发实战探讨-资源的加载释放最佳策略简要心得
Unity开发实战探讨-资源的加载释放最佳策略简要心得 看过我另外一篇关于Unity资源释放随笔<Unity开发实战探讨-资源的加载释放最佳策略>如果觉得略微复杂,那么下面是一些比较简要的 ...
- 【shell脚本】检测当前用户是否为超级管理员===checkRoot.sh
检测当前用户是否为超级管理员,是则使用yum安装vsftpd,不是则输出提示信息 脚本赋予执行权限 [root@VM_0_10_centos shellScript]# chmod a+x check ...
- 【Oracle】Oracle自动内存管理AMM
Oracle自动内存管理AMM AMM(Automatic Memory Management)自动内存管理,分配一整块内存区域,Oracle数据库自动分配管理SGA和PGA的内存.具体通过设置两个参 ...
- Vue.js 源码分析(二十七) 高级应用 异步组件 详解
当我们的项目足够大,使用的组件就会很多,此时如果一次性加载所有的组件是比较花费时间的.一开始就把所有的组件都加载是没必要的一笔开销,此时可以用异步组件来优化一下. 异步组件简单的说就是只有等到在页面里 ...
- redis命令之 ----List(列表)
BLPOP BRPOP BRPOPLPUSH LINDEX LINDEX key index 返回列表 key 中,下标为 index 的元素. 下标(index)参数 start 和 stop 都以 ...