Maven学习—如何在IDEA中配置Maven?又如何创建Maven工程?(详细攻略)

目录

前言

1.在IDEA中配置Maven

          2.创建Maven项目

(1)Maven:创建普通Maven工程

(2)Maven Archetype:创建Maven模板工程


前言

        本篇博客将详细的介绍在IDEA中如何配置Maven,以及如何创建一个Maven项目;前提是已经安装且配置好了Maven环境,没有安装的小伙伴,可以参考这篇博客:

Maven学习——Maven的下载、安装与配置(详细攻略!)-CSDN博客

1.在IDEA中配置Maven

(1)首先我们打开IDEA,打开setting设置界面,

         在左边栏找到 Build, Execution, Deployment ——> Build Tools ——> Maven :

(2)然后看右边栏,我们要配置三个地方

  • Maven home path  :   这个地方配置为你Maven的安装目录

  • User settings file    :    勾上左边Override,然后这个地方配置为你Maven安装目录下 conf文件夹中的setting.xml文件

  • Local repository   : 这个地方配置为你的Maven本地仓库

(通常,如果你的setting.xml中设置过本地仓库,当上一步User settings file设置好后,这里会自动定位到你的本地仓库路径;若没有,则要手动配置一下)

(OK,到这里你的IDEA就已经配置好了Maven的环境🐶)接下来就可以创建Maven项目了

2.创建Maven项目

在新版IDEA中创建Maven项目有两种方式:Maven和Maven Archetype。

(1)Maven:普通Maven工程

(该方式创建的Maven项目,目录结构中只包含Maven项目中一些最基本的文件夹与配置文件)

创建方法:打开idea--->File(文件)--->New(新建)--->project(项目)

点开后,创建项目的具体操作如下:

最后点击Create,项目创建完成,创建后的项目的目录结构如下图:

👌至此,一个普通的Maven项目就成功创建好了。

如果不懂图中的一些概念,例如:坐标、pom.xml、groupId;请参考我的另一篇博客,(里面有maven核心概念的介绍),链接如下🔗

Maven详解(学习、安装、配置)——看这个一篇就够了_maven包-CSDN博客文章浏览阅读1.3k次,点赞42次,收藏30次。(之前我们创建项目,需要确定项目的目录结构,比如src 存放Java源码, resources存放配置文件,webContent放前端页面,还要配置环境比如JDK的版本等等,如果有多个项目 那么就需要每次自己搞一套配置,十分麻烦。操作麻烦,如果人家版本更新了,或者我们的项目需要更新某个模块,导致之前加入的依赖包,又需要重新下载最新版本,重新加入到项目里。:Maven公司团队所管理的服务器,架设在Internet上,为全世界的所有Maven工程服务,基本上存储着99%的jar包。①阿里中央仓库(首选推荐)_maven包https://blog.csdn.net/Future_yzx/article/details/140384071

(2)Maven Archetype:创建Maven模板工程

什么是Archetype? Archetype就是模板原型的意思。在新版IDEA中,使用Maven Archetype创建项目时,Maven Archetype针对不同的项目,为我们提供了41中项目模版,其中最常用的三个为:

  • maven-archetype-webapp    

该模版针对动态web项目,会自动创建好WEB环境,不用我们再去project structure中自己配置了,避免手动创建文件夹和web.xml文件。

  • maven-archetype-quickstart    

该模版是快速开始一个项目,会为我们创建好java环境和test环境 ,而且连一个最开始的类都给我们创建好

  • no archetype    表示不使用模版,创建普通的Maven工程,项目中包含最基本的目录结构。

创建方式:打开idea--->File(文件)--->New(新建)--->project(项目)

 点开后,的具体操作如下:

ok,你的Maven Archetype模板项目就创建好了。

Maven Archetype的41种骨架:

 ...>mvn archetype:generate

1: internal -> appfuse-basic-jsf (创建一个基于Hibernate,Spring和JSF的Web应用程序的原型) 
2: internal -> appfuse-basic-spring (创建一个基于Hibernate,Spring和Spring MVC的Web应用程序的原型) 
3: internal -> appfuse-basic-struts (创建一个基于Hibernate,Spring和Struts 2的Web应用程序的原型) 
4: internal -> appfuse-basic-tapestry (创建一个基于Hibernate, Spring 和 Tapestry 4的Web应用程序的原型) 
5: internal -> appfuse-core (创建一个基于 Hibernate and Spring 和 XFire的jar应用程序的原型) 
6: internal -> appfuse-modular-jsf (创建一个基于 Hibernate,Spring和JSF的模块化应用原型) 
7: internal -> appfuse-modular-spring (创建一个基于 Hibernate, Spring 和 Spring MVC 的模块化应用原型) 
8: internal -> appfuse-modular-struts (创建一个基于 Hibernate, Spring 和 Struts 2 的模块化应用原型) 
9: internal -> appfuse-modular-tapestry (创建一个基于 Hibernate, Spring 和 Tapestry 4 的模块化应用原型) 
10: internal -> maven-archetype-j2ee-simple (一个简单的J2EE的Java应用程序) 
11: internal -> maven-archetype-marmalade-mojo (一个Maven的 插件开发项目 using marmalade) 
12: internal -> maven-archetype-mojo (一个Maven的Java插件开发项目) 
13: internal -> maven-archetype-portlet (一个简单的portlet应用程序) 
14: internal -> maven-archetype-profiles () 
15: internal -> maven-archetype-quickstart () 
16: internal -> maven-archetype-site-simple (简单的网站生成项目) 
17: internal -> maven-archetype-site (更复杂的网站项目) 
18: internal -> maven-archetype-webapp (一个简单的Java Web应用程序) 
19: internal -> jini-service-archetype (Archetype for Jini service project creation) 
20: internal -> softeu-archetype-seam (JSF+Facelets+Seam Archetype) 
21: internal -> softeu-archetype-seam-simple (JSF+Facelets+Seam (无残留) 原型) 
22: internal -> softeu-archetype-jsf (JSF+Facelets 原型) 
23: internal -> jpa-maven-archetype (JPA 应用程序) 
24: internal -> spring-osgi-bundle-archetype (Spring-OSGi 原型) 
25: internal -> confluence-plugin-archetype (Atlassian 聚合插件原型) 
26: internal -> jira-plugin-archetype (Atlassian JIRA 插件原型) 
27: internal -> maven-archetype-har (Hibernate 存档) 
28: internal -> maven-archetype-sar (JBoss 服务存档) 
29: internal -> wicket-archetype-quickstart (一个简单的Apache Wicket的项目) 
30: internal -> scala-archetype-simple (一个简单的scala的项目) 
31: internal -> lift-archetype-blank (一个 blank/empty liftweb 项目) 
32: internal -> lift-archetype-basic (基本(liftweb)项目) 
33: internal -> cocoon-22-archetype-block-plain ([http://cocoapacorg2/maven-plugins/]) 
34: internal -> cocoon-22-archetype-block ([http://cocoapacorg2/maven-plugins/]) 
35: internal -> cocoon-22-archetype-webapp ([http://cocoapacorg2/maven-plugins/]) 
36: internal -> myfaces-archetype-helloworld (使用MyFaces的一个简单的原型) 
37: internal -> myfaces-archetype-helloworld-facelets (一个使用MyFaces和Facelets的简单原型) 
38: internal -> myfaces-archetype-trinidad (一个使用MyFaces和Trinidad的简单原型) 
39: internal -> myfaces-archetype-jsfcomponents (一种使用MyFaces创建定制JSF组件的简单的原型) 
40: internal -> gmaven-archetype-basic (Groovy的基本原型) 
41: internal -> gmaven-archetype-mojo (Groovy mojo 原型)

原文链接:Maven 的41种骨架功能介绍 - _zao123 - 博客园

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/46992.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式 I/O 系统 BL200 Modbus TCP 耦合器

BL200 耦合器是一个数据采集和控制系统,基于强大的 32 位微处理器设计,采用 Linux 操作系统,支持 Modbus 协议,可以快速接入现场 PLC、SCADA 以及 ERP 系统, 内置逻辑控制、边缘计算应用,适用于 IIoT 和工业…

园区道路车辆智能管控视频解决方案,打造安全畅通的园区交通环境

一、背景需求分析 随着企业园区的快速发展和扩张,道路车辆管理成为了保障园区秩序、提升运营效率及确保员工安全的重要任务。针对这一需求,旭帆科技TSINGSEE青犀提出了一种企业园区道路车辆管控的解决方案,通过整合视频监控、智能识别等技术…

Qt6 OpenCV4视频监控系统项目源码解析——附源码及编译运行步骤

很多刚毕业,或者想着转行到C Qt方向的小伙伴,平时可能拿不出比较像样的项目。这里你可要好好收藏啦。自己拿回去好好改改,就可以成为自己的项目经历了。祝各位找工作顺利呀。 好了。废话不多说。 这个项目架构采用的是MVC架构,结…

Porfinet从转DeviceNet从总线协议转换网关

产品功能 1. 远创智控YC-DNT-PN型是Porfinet从转Devicenet从工业级Porfinet 网关。‌这种网关设备允许将Porfinet网络中的设备连接到Devicenet网络中,‌从而实现不同工业通信协议之间的互操作性。‌这些网关设备通常具有两个以太网接口,‌分别用于连接Po…

STM32智能楼宇照明系统教程

目录 引言环境准备智能楼宇照明系统基础代码实现:实现智能楼宇照明系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景:楼宇照明管理与优化问题解决方案与优化收尾与总结 1. 引言 智能楼宇照明系…

【verilog语法】$clog2(IEEE Std 1364-2005)

一、前言 在进行Verilog设计时,有时需要根据内存大小来计算地址的位宽,或者根据变量的值来确定变量的位宽,这时可以自己编写相关的可综合函数,或者verilog-2005起开始支持的$clog2系统函数。 二、自己编写的function function i…

代码规范性

代码规范性 命名规范代码格式注释代码结构异常处理代码复用代码审查空格的用法代码示例 命名规范 ​ 1、变量和函数名:使用驼峰命名法(camelCase),如userName、getUserInfo。 ​ 2、常量:使用全大写字母,…

VSCode安装以及安装你需要的插件的保姆级教程

文章目录 前言vscode的简介安装vscode下载安装包 安装中文插件安装C/C插件总结 前言 Visual Studio Code(VSCode)是一款免费、开源且强大的代码编辑器,它具有易于使用的界面和丰富的功能,包括高级代码编辑、导航、调试等功能。VS…

远程访问及控制(ssh)

目录 一、OpenSSH服务器 1.1 SSH(Secure Shell)协议 1.2 OpenSSH 2.1 SSH原理 2.1 1 公钥传输原理 2.1.2 加密原理 2.1.3 SSHD服务的两种验证方式 二、SSH命令中的基本操作 2.1 构建密钥对验证的SSH 2.1.1 公钥和密钥的关系 2.1.2 构建密钥对…

找不到d3dx9_43.dll怎么办,总结5种解决d3dx9_43.dll丢失的方法

很多人经常使用电脑的时候可能遇到过电脑缺失d3dx9_43.dll的情况。这种情况通常是由于不当操作导致病毒感染或软件误删等原因引起的。今天,我将为大家详细讲解电脑缺失d3dx9_43.dll的原因以及几种解决方法。 一、了解d3dx9_43.dll是什么及作用 d3dx9_43.dll 是一个…

腾讯开源 tlbs-map 地图组件库

腾讯宣布开源 tlbs-map,一个基于腾讯位置服务地图 API 开发的 web 端地图组件库,支持在网页绘制地图并在地图上绘制点、线、面、热力图等效果,支持 Vue2、Vue3、React 等业界主流技术栈,旨在帮助开发者低成本开发地图业务 Javascr…

【Blockly图形化积木编程二次开发学习笔记】1.工具箱的实现

文章目录 Blockly 版本选择上手 Blockly 版本选择 在【兰州大学】Blockly创意趣味编程【全36讲】主讲教师:崔向平 周庆国中提到,在18年6月份之前的版本中,可以通过安装依赖库的方式,打开开发者工具的离线版本,但是新版…

框架设计MVVM

重点&#xff1a; 1.viewmodel 包含model 2.view包含viewmodel,通过驱动viewmodel去控制model的数据和业务逻辑 // Test.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //#include <iostream> #include <vector>using namespace std;#p…

iSCSI 网络存储服务部署

一、介绍 iSCSI &#xff08;Internet Small Computer System Interface&#xff09;&#xff0c;互联网小型计算机系统接口&#xff1b;iSCSI 是SCSI接口 与以太网技术相结合的新型存储技术&#xff0c;属于ip san的一种&#xff0c;可以用来在网络中传输 SCSI 接口的命令和数…

逆向案例二十一——sm2加密,某信登录密码加密

网址&#xff1a;电信账号登录 这个登陆页面&#xff0c;会需要过滑块验证码&#xff0c;先不管他&#xff0c;直接找到登陆包&#xff0c;在登陆包之前&#xff0c;有一个这个包返回一串不知道啥作用的先记着。 找到登陆包&#xff0c;密码进行了加密 用xhr断点调试&#xff…

Jmeter常用组件及执行顺序

一 常用组件 1.线程组 Thread Group 线程组是一系列线程的集合&#xff0c;每一个线程代表着一个正在使用应用程序的用户。在 jmeter 中&#xff0c;每个线程意味着模拟一个真实用户向服务器发起请求。 在 jmeter 中&#xff0c;线程组组件运行用户设置线程数量、初始化方式等…

JuiceFS、Ceph 和 MinIO 结合使用

1. 流程图 将 JuiceFS、Ceph 和 MinIO 结合使用&#xff0c;可以充分利用 Ceph 的分布式存储能力、JuiceFS 的高性能文件系统特性&#xff0c;以及 MinIO 提供的对象存储接口。以下是一个方案&#xff0c;介绍如何配置和部署 JuiceFS 使用 Ceph 作为其底层存储&#xff0c;并通…

Linux进程——进程优先级与僵尸进程孤儿进程

文章目录 僵尸进程变成僵尸状态的过程 孤儿进程进程优先级如何修改进程优先级为什么优先级有范围 僵尸进程 僵尸状态进程本质上就是死亡状态 在进程死亡之后&#xff0c;不会直接对进程进行释放&#xff0c;而是先会处理一些后事 进程在结束退出的时候&#xff0c;也会有一些…

GA-Kmeans-Transformer-GRU时序聚类+状态识别组合模型,创新发文无忧!

GA-Kmeans-Transformer-GRU时序聚类状态识别组合模型&#xff0c;创新发文无忧&#xff01; 目录 GA-Kmeans-Transformer-GRU时序聚类状态识别组合模型&#xff0c;创新发文无忧&#xff01;效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.GA-Kmeans-Transformer-GRU时…

【Linux网络】poll{初识poll / poll接口 / poll vs select / poll开发多客户端echo服务器}

文章目录 1.初识pollpoll与select的主要联系与区别poll的原理poll的优点poll的缺点poll vs select 2.poll开发多客户端echo服务器封装套接字接口Makefile主函数日志服务聊天服务器 1.初识poll poll是Linux系统中的一个系统调用&#xff0c;它用于监控多个文件描述符&#xff08…