一、 Maven有什么作用?

1、让maven仓库自动帮你下载jar包

maven项目会有一个 pom.xml文件, 在这个文件里面,只要你添加相应配置,他就会自动帮你下载相应jar包,不用你铺天盖地的到处搜索你需要的jar包。

下面是示范配置文件pom.xml

pom文件依赖

maven都会通过,项目名-项目模块-项目版本,使maven在互联网上的代码库中下载相应jar包。

2、寻找依赖,帮你下载依赖

寻找jar包是第一基本功能,寻找依赖在这个是在这个基础上的功能。在maven的代码库中,每一个jar包也有自己的 pom.xml文件,而这个文件里面也会有配置,只要你配置的jar包所依赖的其他jar包都会被maven自动下载下来。

二、Maven的安装与配置

1、下载 Maven

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

2、安装Maven

1)安装Maven的前要安装JDK。

2)将安装文件解压到你指定的目录中。这里的Maven安装目录是E:\apache-maven-3.5.0。

3、设置环境变量,将Maven安装配置到操作系统环境中

1)打开系统属性面板(桌面上右键单击“我的电脑”→“属性”),点击高级系统设置,再点击环境变量

2)在系统变量中新建一个变量,变量名为 M2_HOME,变量值为Maven的安装目录E:\apache-maven-3.5.0。

3)点击确定,接着在系统变量中找到一个名为Path的变量,在变量值的末尾加上 %M2_HOME%\bin;

4)注意多个值之间需要有分号隔开,然后点击确定。至此,环境变量设置完成。

4、测试安装成功

打开一个新的cmd窗口,运行 mvn -v 命令检查Maven的安装情况

5、修改maven配置使用阿里云镜像提供maven源打开maven安装路径下的conf/settings.xml 文件

三、开发工具配置maven

3.1、使用eclipse创建maven项目1)我们打开eclipse的preferences设置项,找到Maven -> Installations -> add 添加maven安装路径。

2)修改maven的settings.xml 配置。修改成自己安装maven后 conf目录下的setting.xml文件。

3.2、使用idea创建maven项目1)我们打开idea的file菜单栏,找到settings-> maven 添加maven安装路径。

2)选择Bundled (Maven 3),根据自己安装的maven版本来,也可以默认不选择;点击override选择配置安装maven路径下的setting.xml文件;下面的仓库repository可以自己创建一个,建议创建一个。比如D:\maven_repository。

四、创建maven 工程

这里以eclipse为例,idea大同小异。选择菜单项File -> New -> Other,在弹出的对话框中选择Maven下的Maven Project。

然后点击Next >,在弹出的New Maven Project对话框中,我们使用默认的选项。

点击Next >,此时m2 eclipse会提示我们选择一个Archetype,我们选择
maven-archetype-quickstart。

再点击Next > 输入groupId,、artifactId、version、package 。

安装完成功后工程结构图如下:

五、pom.xml文件的介绍

Maven 项目的核心是 pom.xml。POM( Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等等。

这段代码中最重要的是 groupId, artifactId 和 version 三行。这三个元素定义了一个项目基本的坐标,在 Maven的世界,任何的 jar、 pom 或者 war 都是以基于这些基本的坐标进行区分的。groupId :定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联,譬如你在 toutiao上建立了一个名为 myapp 的项目,那么 groupId 就应该是 com.toutiao.myapp,如果你的公司是 mycom,有一个项目为 myapp,那么 groupId 就应该是 com.mycom.myapp。artifactId:定义了当前 Maven 项目在组中唯一的 ID。version :指定了 项目当前依赖的版本——1.0-SNAPSHOT。 SNAPSHOT 意为快照,说明该项目还处于开发中,是不稳定的版本。随着项目的发展, version 会不断更新,如升级为 1.0、 1.1-SNAPSHOT、1.1等。

六、使用用maven 生成可执行 jar包。

在pom.xml中添加下面与同级别的标签。

maven-assembly-pluginfalsejar-with-dependenciescom.hainiuxy_linux.HelloWorldtrue  lib/ make-assemblypackageassembly

其中:

com.xxx.HelloWorld 指的是 jar 文件中的启动类。

设置classpath 路径

true  lib/ 

如何打包?右键maven 工程 → Run As → Maven install。

查看maven 控制台,是否有报错信息,如果没有,会在maven 工程的 target 文件夹下生成一个可执行 jar。

注意:如果再次打包时,需要先执行 Run As → Maven clean,再执行 Run As → Maven install。

eclipse maven打包_自动化管理项目,Maven仓库配置、安装和使用相关推荐

  1. Java微服务_医疗管理项目_基于若依快速开发框架

    一.项目简介 项目简介:尚医疗是专门为各大医院.门]诊提供的一款医疗管理平台.系统包含:系统 管理.药品进销存管理.看病就诊.收费管理.检查管理.数据统计等核心模块.通过尚医 疗系统可以快速方便的管理 ...

  2. docker eclipse打包_【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)...

    写在前面 最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本 ...

  3. Maven父子结构的项目依赖使用以及打包依赖_微服务项目(maven父子级项目)怎么打包

    Maven父子结构的项目依赖使用以及打包依赖 1:在父子结构项目中,如果要是用其他模块的类.在当前项目中的pom中 加入 其他模块的配置 <dependency><groupId&g ...

  4. 尚硅谷尚品汇_后台管理项目

    vueProject_尚品汇后台管理 项目源码 文章目录 vueProject_尚品汇后台管理 login/out模块 product模块 login/out模块 .env.development . ...

  5. 联想x3850x6重装系统_中心管理服务器介绍及配置方案:联想服务器 X3850X6

    中心管理服务器(CMS,CentralManagementServer),一般是指视频监控系统的中心管理服务器. 它可以: 作为B2BUA应用服务器提供网络视频监控业务: 作为管理中心提供客户/用户管 ...

  6. eclipse maven打包_我的Java Web之路47 - 使用Maven改造租房网工程

    本系列文章旨在记录和总结自己在Java Web开发之路上的知识点.经验.问题和思考,希望能帮助更多(Java)码农和想成为(Java)码农的人. 目录 介绍 原来的租房网工程结构 改造思路 将原有工程 ...

  7. 如何导入maven源文件_如何正确导入maven项目到eclipse?

    Eclipse不允许一个项目被导入不止一次,在您的情况下,来自中继线和分支. This article显示了如何通过自定义maven配置文件绕过此限制.基本上,步骤是: >将以下配置文件添加到您 ...

  8. maven 打包_一次打包引发的思考,原来maven还可以这么玩~

    前言 昨天有一个读者找我的交流工作心得,偶然间提到一个有趣的问题,如下: 「大致的意思」:公司最近在整多模块开发,由于模块之间相互依赖,每次打包都很烦,必须根据依赖关系逐一进行打包,有没有省事的办法呢 ...

  9. maven打包本地jar到项目中

    在maven项目中,我们的项目依赖一般取自local的repository或者远程的repository,比如下面这个配置: maven <dependency> <groupId& ...

最新文章

  1. Structured Streaming编程 Programming Guide
  2. 洛谷 P1019 单词接龙 Label:dfs
  3. oracle orber by,Oracle ORDER BY子句
  4. Ehcache BigMemory: 摆脱GC困扰(转)
  5. 神作!3万程序员在学,这本深度学习宝典刷爆IT圈!
  6. oracle启动文件是什么意思,Oracle数据库的启动——口令文件的作用
  7. 深度学习TensorFlow生产环境部署(模型部署篇)
  8. iOS 之项目中遇到的问题总结
  9. 信息系统项目管理--论文分析笔记
  10. RGB和CMYK的区别
  11. 分布式数据库设计——分布式数据库的基础概念
  12. android 发送短信的两种方式
  13. SVN多项目共享导出及故障处理
  14. 【转】腾讯云PCDN:从P2P到万物互联服务框架
  15. 商标注册中的字体也会侵权?这是真事
  16. reflections歌词翻译_reflections歌词 reflectionsLrc歌词
  17. web期末网站设计 HTML5+CSS大作业——汽车自驾游(10页) 自驾游主题HTM5网页设计作业成品
  18. C 程序设计语言(第2版)
  19. CF - 794B. Cutting Carrot - 数学
  20. 月薪10000+,一天的工作量只改5行代码,我也要当程序员

热门文章

  1. 如何补充策略与模型在风控中的滞后性
  2. 你可能还不知道的关于JavaScript类型的细节?
  3. 【Android开发】【数据库】Realm For Android
  4. (转)Python 字符串格式化 str.format 简介
  5. Linux软件包安装和卸载
  6. python的unittest测试类代码实例
  7. BZOJ 2820: YY的GCD
  8. 解决Oracle的http://localhost:1158/em页面打不开的问题
  9. Python学习笔记(一)——基本知识点
  10. KMP算法字符串模式匹配