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,一经查实,立即删除!

相关文章

mysql主外键引用关系,关于mysql:数据主/外键关系

我想对于那些已经开发了许多数据库模式的人来说&#xff0c;这将是一个简单的答案&#xff0c;但是我最近发现自己承担了优化(或尝试优化)数据库模式的任务&#xff0c;并且一直在阅读"高性能MySQL"&#xff0c;并且剩下一个关于在模式中使用或"过度使用"外…

解读微软开源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…

matlab 边缘检测不闭合,Matlab多种图像边缘检测方法

1、用Prewitt算子检测图像的边缘I imread(bacteria.BMP);BW1 edge(I,prewitt,0.04); % 0.04为梯度阈值figure(1);imshow(I);figure(2);imshow(BW1);2、用不同σ值的LoG算子检测图像的边缘I imread(bacteria.BMP);BW1 edge(I,log,0.003); % σ2imshow(BW1);titl…

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

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

只是他给的实在太多了!

工作几年后&#xff0c;总是会问自己一个问题&#xff0c;工作的意义是什么&#xff1f;这个如果要在网络上寻找答案&#xff0c;那一定是多如牛毛&#xff0c;每一个人都有一套自己的看法。在一开始出入社会工作之时&#xff0c;我并没有意识到这个问题&#xff0c;更没有思考…

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

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

Oracle 中UNDO与REDO的差别具体解释

一 为了更清楚的看出2者差别&#xff0c;请看下表&#xff1a; UNDO REDO Record ofHow to undo a changeHow to reproduce a changeUsed forRollback, Read-ConsistencyRolling forward DB ChangesStored …

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(.…

WPF-11 路由事件之一

什么是路由事件&#xff1f;我们从两个维度来理解路由事件&#xff1a;功能的角度来看&#xff0c;路由事件是一种事件类型&#xff0c;不仅仅可以在事件源上处理事件响应&#xff0c;还可以在元素树的多个侦听器上处理事件响应(事件侦听器是附加和调用事件处理程序的元素。事件…

个人总结的一个中高级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…

如何为 Task 添加超时功能

前言假设有如下代码&#xff0c;功能是首先从缓存获取数据&#xff0c;如果没有命中缓存&#xff0c;则直接从数据库获取&#xff1a;var data await GetFromCache(); if (data is null) {data await GetFromDB(); }对于获取缓存数据&#xff0c;我们需要限制一下GetFromCach…

php 随机指定位数,php生成一个可选位数的随机码

echo coding(6);function coding($num){$str_arr array(‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘,‘g‘,‘h‘,‘i‘,‘j‘,‘k‘,‘l‘,‘m‘,‘n‘,‘o‘,‘p‘,‘q‘,‘r‘,‘s‘,‘t‘,‘u‘,‘v‘,‘w‘,‘x‘,‘y‘,‘z‘,‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘,‘G‘,‘H‘…

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…

angular中的cookies与cookieStore区别

设置cookie用put()方法: $cookies.put(key, value[, options]); $cookieStore.put(key, value); 例如设置一个cookie&#xff0c;名为“userName”&#xff0c;值为“yangmin”&#xff1a; //使用$cookies设置cookie $cookies.put(userName, yangmin); //使用$cookieStore设置…

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

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

js 栈(进制转换)

<!DOCTYPE html>Documentposted 2017-12-07 19:33 mysure 阅读(...) 评论(...) 编辑 收藏 刷新评论刷新页面返回顶部转载于:https://www.cnblogs.com/ar13/p/8000718.html