首页 > 其他分享 >任务卡_09-Maven训练

任务卡_09-Maven训练

时间:2022-11-03 22:36:15浏览次数:59  
标签:本地 训练 项目 仓库 09 jar Maven install


目录

​​一,Maven 任务训练​​

​​1,任务目标​​

​​2,任务概述​​

​​3,任务过程​​

​​4,实现过程​​

​​4.1 如何将现有的项目打包并上传到本地仓库?​​

​​4.2 如何引用该项目以及其中包含的方法?​​


一,Maven 任务训练

1,任务目标

技能目标:独立搭建 Maven 环境,使用 Maven 进行 jar 包管理,并实现项目代码安装到本地仓库,其 他项目可以引用该代码。 

业务目标:项目组员无需复制繁琐的 jar 包也能实现项目开发,自身代码可以实现实时性共享。

2,任务概述

Java 工程师张工最近接到一个新任务,需要他把新项目的框架搭建出来,包括项目结构,依赖包等 信息,搭建完成后,出现了一个问题:项目自身体积庞大,光 jar 包就几百兆,如果给组员逐个复制, 那岂不是太耽误时间了,那你有什么好办法来解决 jar 包依赖的问题吗?

而且他发现之前写的通用代码在 给其他组员和小组时,使用传统的复制粘贴太麻烦了,而且实时性不强,如果后期进行版本迭代,还要 重新复制,你有什么办法解决吗?

3,任务过程

搭建 Maven 环境

创建 Maven 项目 A,并添加需要的 jar 包依赖

将项目 A 通过 Maven 指令安装到本地仓库

创建 Maven 项目 B,在项目 B 中引用 A 项目的依赖包

在 B 项目中编写测试类,调取 A 项目信息并运行结果

4,实现过程

简单聊一聊。今天学了这个maven,感觉确实很神奇、很方便,尤其是不需要搭建tomcat环境就可以部署web应用属实amazing。

但是关于“通过jar实现项目共享”这一部分始终没能理解。我虽然知道通过调用现成的jar包,能使用一些非常方便的功能,比如servlet.api等等,但是这都是比较高大上的操作,普通程序员也能实现吗?

正好这个任务帮助我加深了这方面的理解。

Maven中有一个本地仓库的概念,既然我们能把一些要用的jar包下载到本地仓库供我们使用,那我们是不是也可以自己制作一些jar包放到本地仓库,供其他项目使用呢?

因此,有两个关键点:

  1. 如何将现有的项目打包并上传到本地仓库?
  2. 如何引用该项目以及其中包含的方法?

4.1 如何将现有的项目打包并上传到本地仓库?

首先创建一个Maven项目demo1,创建简单的类

任务卡_09-Maven训练_任务卡

接下来就轮到Maven出场了。没错,就是install

但是这里有个地方需要注意。参考​​@明月几时有666【Maven报错:The packaging for this project did not assign a file to the build artifact】

mvn install代表执行的是生命周期的一个阶段,在执行install阶段先要执行其前面的21个阶段,之后执行install阶段,所以需要使用Maven管理工具下的LifeCycle(生命周期)中的install。

IDEA中使用Plugins下的install:install(即在命令行下执行命令mvn install:install) mvn install:install代表执行的是插件的目标,它单独执行,不会先去执行之前的21个阶段。

任务卡_09-Maven训练_Maven_02

执行完成之后,就可以在本地仓库中找到对应的文件啦

任务卡_09-Maven训练_任务卡_03

 

4.2 如何引用该项目以及其中包含的方法?

应该还记得创建Maven项目时,要求输入groupId、artifactId和version吧。这些属性其实就是在帮助定位jar包的位置。

任务卡_09-Maven训练_javaweb_04

再次创建Maven项目demo2,修改对应的pom.xml

任务卡_09-Maven训练_任务卡_05

任务卡_09-Maven训练_任务卡_06

 

在类中引入并使用该jar包

任务卡_09-Maven训练_Maven_07

 

任务卡_09-Maven训练_jar_08

任务卡_09-Maven训练_Maven_09

没毛病!


对学习Java感兴趣的同学欢迎加入QQ学习交流群:1126298731

有问题欢迎提问,大家一起在学习Java的路上打怪升级!(o゜▽゜)o☆[BINGO!]

标签:本地,训练,项目,仓库,09,jar,Maven,install
From: https://blog.51cto.com/u_15849465/5821263

相关文章