Maven基础:Maven环境搭建及基本使用(1)

1. Maven环境搭建

1.1 Maven简介

 

1.2 Maven下载及环境设置

  Maven下载地址:http://maven.apache.org/download.cgi

  当前下载版本:apache-maven-3.5.0-bin.zip,解压之后路径 D:\Program Files\apache-maven-3.5.0

  Maven环境变量设置

  注:设置Maven环境变量之前,需先设置JAVA_HOME系统变量,参考 Java基础:Java简介及安装配置(1)。

  (1)新增系统变量【MAVEN_HOME】,值:D:\Program Files\apache-maven-3.5.0

  (2)系统变量【Path】追加值: %MAVEN_HOME%\bin

  (3)运行cmd,检查是否配置成功。

mvn -version

1.3 Eclipse设置Maven Repository

  选择菜单:Window -> Maven -> User Settings

  设置值:maven安装路径

1.4 本地仓储配置

  本地仓储配置文件:D:\Program Files\apache-maven-3.5.0\conf\settings.xml

  修改配置:

  找到以下部分代码,本地仓储默认配置为 ${user.home}/.m2/repository。

<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->

  修改本地仓储,保存路径 D:\Program Files\apache-maven-3.5.0\repository

<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:\Program Files\apache-maven-3.5.0\repository</localRepository>

1.5 Maven设置阿里云仓储

<mirrors><!-- mirror| Specifies a repository mirror site to use instead of a given repository. The repository that| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.|<mirror><id>mirrorId</id><mirrorOf>repositoryId</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://my.repository.com/repo/path</url></mirror>--><mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>        </mirror>
</mirrors>

1.6 设置默认JDK

  方式一:项目pom.xml文件中设置

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins>
</build>

  方式二:在Maven的settings.xml文件中设置

<profile><id>jdk-1.8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties>
</profile>

2. Maven基本操作

2.1 Maven项目约定目录

MavenProjectRoot

|----src

|    |----main

|    |    |----java —— 存放项目的.java文件

|    |    |----resource —— 存放项目资源文件,如spring, hibernate配置文件

|    |----test

|    |    |----java —— 存放所有测试.java文件,如JUnit测试类

|    |    |----resource —— 存放项目资源文件,如spring, hibernate配置文件

|----target —— 项目输出位置

|----pom.xml —— 用于标识该项目是一个Maven项目

2.2 创建Maven项目

  (1)生成项目

mvn archetype:generate
Define value for property 'groupId': libing
Define value for property 'artifactId': com-test-api
Define value for property 'version' 1.0-SNAPSHOT: :
Define value for property 'package' libing: : com.libing.test
Confirm properties configuration:
groupId: libing
artifactId: com-test-api
version: 1.0-SNAPSHOT
package: com.libing.test

  查看项目生成目录:

cd /d F:\workspace\com-test-api
F:\workspace\com-test-api>tree
文件夹 PATH 列表
卷序列号为 0000002C 962B:5AD5
F:.
└─src├─main│  └─java│      └─com│          └─libing│              └─test└─test└─java└─com└─libing└─test

  创建时指定类型:

mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
mvn archetype:generate -DgroupId=libing -DartifactId=libing-test-api -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
mvn archetype:generate -DgroupId=libing -DartifactId=libing-test-api -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

  (2)编译项目

F:\workspace\com-test-api>mvn compile

  完成编译后,生成target文件夹及编译文件。

F:\workspace\com-test-api>tree
文件夹 PATH 列表
卷序列号为 0000005E 962B:5AD5
F:.
├─src
│  ├─main
│  │  └─java
│  │      └─com
│  │          └─libing
│  │              └─test
│  └─test
│      └─java
│          └─com
│              └─libing
│                  └─test
└─target├─classes│  └─com│      └─libing│          └─test└─maven-status└─maven-compiler-plugin└─compile└─default-compile

  (3)打包项目

F:\workspace\com-test-api>mvn package

  打包完成之后,在F:\workspace\com-test-api\target中生成com-test-api-1.0-SNAPSHOT.jar。

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

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

相关文章

解读微软开源MMLSpark:统一的大规模机器学习生态系统

AI前线导读&#xff1a;目前&#xff0c;有很多深度学习框架支持与Spark集成&#xff0c;如Tensorflow on Spark等。然而&#xff0c;微软开源的MMLSpark不仅集成了机器学习框架&#xff08;CNTK深度学习计算框架、LightGBM机器学习框架&#xff09;&#xff0c;还可以将这些计…

floyd判环算法(龟兔赛跑算法)

floyd判环算法&#xff08;龟兔赛跑算法&#xff09; 注意&#xff0c;这个算法是用来判断一条链一条环的图&#xff0c;环的长度或者环与链的交界处的&#xff0c;所以此floyd非彼floyd&#xff08;虽然都是一个人想出来的&#xff09;。 &#xff08;图不是我的&#xff09; …

一个redis的连接库的实现

2019独角兽企业重金招聘Python工程师标准>>> import socketdef format_message( args):"""Create redis message:param args:Message data"""l u"*%d" % len(args)lines [l.encode(utf-8)]for arg in args:if not isinst…

实现CSS在线美化(格式化)、压缩、加密、解密、混淆工具-toolfk程序员工具网

本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱&#xff0c;ToolFk 特色是专注于程序员日常的开发工具&#xff0c;不用安装任何软件&#xff0c;只要把内容贴上按一个执行按钮,就能获取到想要的内容结果。ToolFk还支持 BarCode条形码在线生成、 QueryList采集…

[ci]jenkins server启动,通过jnlp的方式启动slave(容器模式)

jenkins server启动,通过jnlp的方式启动slave. java -jar jenkins.jar 配置jnlp端口--全局安全 配置云 配置项目 执行成功 转载于:https://www.cnblogs.com/iiiiher/p/7978831.html

php实现文件留言,PHP文件操作及实例:留言板

一、文件操作函数1.创建文件&#xff1a;touch(./xxx.php);bool touch ( string $filename [, int $time time() [, int $atime ]] )2.复制文件&#xff1a;copy(./xxx.php,./yyy.php);3.移动或重命名&#xff1a;rename(./xxx.php,./yyy.php);4.删除文件&#xff1a;unlink(.…

个人总结的一个中高级Java开发工程师或架构师需要掌握的一些技能...

近三年&#xff0c;其实都是在做一个项目&#xff0c;项目是一个大型的多节点部署的项目&#xff0c;做了好几个版本&#xff0c;中间用到了很多技术和框架&#xff0c; 也用了一些管理工具和敏捷实践。我这里不是来说项目的&#xff0c;因为最近看了一些招聘信息&#xff0c;结…

Android 进程常驻(5)----开机广播的简单守护以及总结

这是一个轻量级的库&#xff0c;配置几行代码。就能够实如今android上实现进程常驻&#xff0c;也就是在系统强杀下&#xff0c;以及360获取root权限下。clean master获取root权限下都无法杀死进程 支持系统2.3到6.0 支持大部分设备&#xff0c;包含三星。华为。oppo&#xff0…

[k8s]metricbeat的kubernetes模块kube-metric模块

正确姿势启动metricbeat metricbeat.modules: - module: systemmetricsets:- cpu- filesystem- memory- network- processenabled: trueperiod: 10sprocesses: [.*]cpu_ticks: falseoutput.elasticsearch:hosts: ["http://192.168.x.x:9200"]setup.template.name: &q…

Animate与transform的使用

Animate是用css给前端加载动画的效果&#xff1a; 网址&#xff1a;https://daneden.github.io/animate.css/ <!DOCTYPE html> <html lang"en"> <head><link rel"stylesheet" href"static/css/Animate.css"><meta ch…

ASP.NET Core 6框架揭秘实例演示[29]:搭建文件服务器

通过HTTP请求获取的Web资源很多都来源于存储在服务器磁盘上的静态文件。对于ASP.NET应用来说&#xff0c;如果将静态文件存储到约定的目录下&#xff0c;绝大部分文件类型都是可以通过Web的形式对外发布的。“Microsoft.AspNetCore.StaticFiles” 这个NuGet包中提供了三个用来处…

【我们一起写框架】C#的AOP框架

原文:【我们一起写框架】C#的AOP框架前言 AOP&#xff0c;大家都是听过的&#xff0c;它是一种面向切面的设计模式。 不过AOP虽然是被称为设计模式&#xff0c;但我们应该很少能看到AOP设计的框架。为什么呢&#xff1f; 因为&#xff0c;AOP单独设计的框架几乎是无法使用的。普…

新浪微博授权认证过程

为什么80%的码农都做不了架构师&#xff1f;>>> 一、授权认证 1、请求用户授权Token URL&#xff1a; https://api.weibo.com/oauth2/authorize HTTP请求方式:GET/POST 请求参数 必选 类型及范围 说明 client_id true string 申请应用时分配的AppKey。 redire…

VisualStudio 使用 FastTunnel 辅助搭建远程调试环境

有时候需要远程调试一些用户问题&#xff0c;期望能使用本机的 Visual Studio 开发环境&#xff0c;调试远程的用户的设备上的应用。这时会遇到的一个问题是如何让本机的 Visual Studio 可以连接上远程的用户的设备&#xff0c;从而进行调试。本文将告诉大家如何采用 FastTunne…

Python1

python介绍python是一种解释型的&#xff0c;面对对象的。带有动态语义的高级程序设计语言python简史1989年,Guido(龟叔)为ABC 语言写的一个插件。因Monty Python的喜剧团体的原因,故给这个语言起名为python。linux也是1989年诞生的,1991年正式发布linux1.0内核;1990年, 发布py…

ncut算法matlab实现,ncut_multiscale_1_6 经典的图像分割算法 的Matlab代码。 238万源代码下载- www.pudn.com...

文件名称: ncut_multiscale_1_6下载收藏√ [5 4 3 2 1 ]开发工具: matlab文件大小: 587 KB上传时间: 2015-04-17下载次数: 4提 供 者: HH详细说明&#xff1a;经典的图像分割算法NCut的Matlab代码。-Matlab code of classic image segmentation algorithm NCut .文件列表(…

使用.NET从零实现基于用户角色的访问权限控制

使用.NET从零实现基于用户角色的访问权限控制本文将介绍如何实现一个基于.NET RBAC 权限管理系统&#xff0c;如果您不想了解原理&#xff0c;可查看推送的另一篇文章关于Sang.AspNetCore.RoleBasedAuthorization[1] 库是使用介绍&#xff0c;直接使用该库即可。背景在设计系统…

数据归一化

数据归一化 数据的标准化是将数据按比例缩放&#xff0c;使之落入一个小的特定区间&#xff0c;一般为0到1之间。在某些比较和评价的指标处理中经常会用到&#xff0c;去除数据的单位限制&#xff0c;将其转化为无量纲的纯数值&#xff0c;便于不同单位或量级的指标能够进行比较…

.NET性能系列文章一:.NET7的性能改进

这些方法在.NET7 中变得更快照片来自 CHUTTERSNAP[1] 的 Unsplash[2]欢迎阅读.NET 性能系列的第一章。这一系列的特点是对.NET 世界中许多不同的主题进行研究、比较性能。正如标题所说的那样&#xff0c;本章节在于.NET7 中的性能改进。你将看到哪种方法是实现特定功能最快的方…

丁洪波 -- 不要“ 总是拿着微不足道的成就来骗自己”

都市快报实盘大赛25期&#xff1a;于海飞/丁洪波荣获冠亚军 七禾网 时间&#xff1a;2010-11-02 12:47:05 来源&#xff1a;期货中国10月30日下午&#xff0c;2010年浙商期货实盘大赛第三季度&#xff08;都市快报实盘大赛第25期&#xff09;颁奖典礼在天科大厦浙商期货大会议室…