当前位置: 首页 > news >正文

(一)使用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。

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

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

这个版本号只能为4.0.0。

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

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

(六)定义了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!

相关文章:

  • 升级pip 升级pip3的快速方法
  • 【CDGP】如何识别主数据?
  • 南大通用的GBase 8s 图形化管理工具介绍
  • 通过 MSE 实现基于Apache APISIX的全链路灰度
  • 神经网络优化算法有哪些,人工神经网络优化算法
  • 使用python-docx完成word操作
  • Interactive Tools Recommendation System integrating QT/ROS /Pytorch
  • 嵌入式属于人工智能吗?
  • Linux操作系统——进程控制【一】
  • 鸡葡萄菌感染怎么防治 预防鸡感染球菌病吃啥药
  • 技术分享 | App测试时常用的adb命令你都掌握了哪些呢?
  • 鸡得关节炎有哪些症状 鸡喂什么药预防球菌病
  • Dockerfile的使用-利用docker构建包含jdk ,vim centos
  • LeetCode-946-验证栈序列
  • vnc服务
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • extjs4学习之配置
  • Java IO学习笔记一
  • js 实现textarea输入字数提示
  • React组件设计模式(一)
  • VuePress 静态网站生成
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 如何利用MongoDB打造TOP榜小程序
  • 如何用vue打造一个移动端音乐播放器
  • 世界上最简单的无等待算法(getAndIncrement)
  • 学习Vue.js的五个小例子
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (175)FPGA门控时钟技术
  • (Note)C++中的继承方式
  • (pojstep1.3.1)1017(构造法模拟)
  • (排序详解之 堆排序)
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (转)【Hibernate总结系列】使用举例
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)大型网站架构演变和知识体系
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .ui文件相关
  • /proc/stat文件详解(翻译)
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [ C++ ] STL---string类的使用指南
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • [ 第一章] JavaScript 简史
  • [2024] 十大免费电脑数据恢复软件——轻松恢复电脑上已删除文件
  • [8-27]正则表达式、扩展表达式以及相关实战
  • [AR Foundation] 人脸检测的流程
  • [bbk5179]第66集 第7章 - 数据库的维护 03
  • [C/C++]关于C++11中的std::move和std::forward
  • [C++] Windows中字符串函数的种类
  • [C++]18:set和map的使用