开发环境中使用Maven|学习笔记

简介: 快速学习开发环境中使用Maven

开发者学堂课程【项目管理工具Maven学习:开发环境中使用Maven】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/23



目录:

一、仓库

二、Eclipse

一、仓库

1、坐标

关于坐标,首先会想到平面几何,xy!!任何一个坐标都能够唯一标识该平面中的一点。在实际生活中,将地址看成是一个坐标。省,市,县,街道,门牌号等等。

Maven的世界中拥有数量巨大的构件,也就是平时用的一些jarwar等文件。

如果没有Maven我们只能去各个官方网站查找下载,去本地搜索,论坛上发帖询问。

想要找一个jar包,大量的时间花费在搜索,浏览网页等工作上面。因为没有统一的规范,所以无法自动化处理。

现在,Maven定义了这样一组规则:世界上任何一个构件都可以使用Maven坐标唯一标识,Maven坐标元素包括: groupld artifactldversionpackaing.classifier.Maven提供了一个中央仓库。该中央仓库包含了世界上大部分流行的开源项目构件。

在开发自己的项目的时候,也需要为其定义适当的坐标,这是Maven强制要求的,在这个基础上,其他Maven项目才能引用该项目生成的构件。

2、坐标详解

Maven坐标为各种组件引入了秩序,任何一个组件都必须明确定义自己的坐标。

Groupld:定义当前Maven项目隶属的实际项目。由于Maven中模块的概念,因此一个实际项目往往会被划分为很多模块。比如spring是一个实际项目,其对应的Maven 模块会有很多,如spring-core,spring-webmvc 等。

groupId:的表示方法与java包名的表示方法类似,通常与域名反向一一对应。

ArtifactId:该元素定义实际项目中的一个Maven模块,推荐的做法是使用实际项目名称作为atifactId的前缀。比如: spring-bean

Version:该元素定义Maven项目当前所处的版本。

Packaging:该元素定义Maven项目的打包方式。

首先,打包方式通常与所生成构件的文件扩展名对应。Maven默认的打包方式是jat。也可以是warear,可执行的jar

Classifier:该元素用来帮助定义构建输出的一些附属构件。比如javadocsourcesjar。这是java文档和源代码。

3、仓库的概念

●当第一次运行Maven命令的时候,你需要Intenet链接,因为它需要从网上下载一些文件。那么它从哪里下载呢?它是从Maven默认的远程库下载的。

这个远程仓库由Maven 的核心插件和可供下载的jar文件。

●对于Maven来说,仓库只分为两类:本地仓库和远程仓库。当Maven根据坐标寻找构件的时候,它首先会查看本地仓库,如果本地仓库存在,则直接使用;如果本地没有,Maven就会去远程仓库查找,发现需要的构件之后,下载到本地仓库再使用。

如果本地仓库和远程仓库都没有,Maven就会报错。

●提示:远程仓库分为三种:中央仓库,私服,其他公共库。

中央仓库是默认配置下,Maven下载jar包的地方。

◆私服是另一种特殊的远程仓库,为了节省带宽和时间,应该在局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库。

内部的项目还能部署到私服上供其他项目使用。

●私服可以通过nexus来搭建Maven

●为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了nexus私服的电脑访问maven的远程仓库。

①首先确定环境安装好mavenjdk等必负的环境

②这些都准备好之后,去下载最新版本的nexus下载地址

:http://www.sonatype.org/nexus/go

本地安装的是nexus-22-01-bundle,最新的版本是nexus-2.4.0-09-bundle

③打开目录

nexus-2.4.0-09-bundlenexus-24.0-09\binsw这个目录下面你会发现有很多系统版本的nexus环增。

image.png

二、Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具Java Development KitJDK)。

虽然大多数用户很乐于将Eclipse 当作Java 集成开发环境IDE来使用,但Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development EnvironmentPDE),这个组件主要针对希望扩展Eclipse 的软件开发人员,因为它允许他们构建与Eclipse 环境无缝集成的工具。

由于Eclipse 中的每样东西都是插件,对于给Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

这种平等和一致性并不仅限于 Java 开发工具。尽管Eclipse 是使用Java语言开发的,但它的用途并不限于Java 语言;例如,支持诸如C/C++COBOLPHP等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统

基于Eclipse 的应用程序的一个突出例子是IBM Rational Software Architect,它构成了 IBMJava 开发工具系列的基础。

image.png

image.png

相关文章
|
编解码 缓存 安全
【C/C++ 泡沫精选面试题03】谈谈C/C++ 智能指针?
【C/C++ 泡沫精选面试题03】谈谈C/C++ 智能指针?
188 1
|
机器学习/深度学习 算法 Linux
使用OpenCV在Python中进行图像处理
使用OpenCV在Python中进行图像处理
|
弹性计算 运维 负载均衡
阿里云轻量应用服务器产品简介、收费标准与活动价格、搭建个人博客教程参考
阿里云轻量应用服务器是深受个人和普通企业用户亲耐的一款轻量级云服务器产品,提供精品应用一键部署,支持一站式的域名、网站、安全、运维、应用管理等服务,极大优化搭建简单应用的体验,降低了入门级用户使用云计算产品的门槛。本文来介绍全方位介绍一下阿里云轻量应用服务器的产品知识,以及最新的收费标准与活动价格情况,另外再奉上使用轻量应用服务器搭建个人博客的建站教程,以供参考。
阿里云轻量应用服务器产品简介、收费标准与活动价格、搭建个人博客教程参考
|
数据采集 机器学习/深度学习 人工智能
用人工智能和missForest构建完美预测模型,数据插补轻松驾驭
用人工智能和missForest构建完美预测模型,数据插补轻松驾驭
477 1
|
分布式计算 Apache Spark
Apache Hudi 0.13.0版本重磅发布!
Apache Hudi 0.13.0版本重磅发布!
311 2
|
JavaScript 开发者
【TypeScript 技术专栏】TypeScript 与 ESLint 代码规范
【4月更文挑战第30天】TypeScript和ESLint是代码规范的关键工具。TypeScript通过静态类型检查、接口与模块系统提升代码质量;ESLint则负责语法检查、风格统一和最佳实践。两者结合使用,提供全面的代码规范保障。制定团队共识、保持灵活性并持续优化规范是关键。常见问题包括类型不匹配、风格不一致和未使用变量,可通过这两工具解决。实际案例分析进一步说明了它们在项目中的应用。重视代码规范,利用这些工具,能提高代码质量和开发效率。
307 0
|
SQL Java 关系型数据库
手把手搭建一个完整的javaweb项目(适合新手)
手把手搭建一个完整的javaweb项目(适合新手)
334 1
|
SQL 关系型数据库 数据库连接
使用python3抓取pinpoint应用信息入库
使用python3通过pinpoint api来获取pinpoint中应用基础信息、上下游链路,并入库
2082 0
|
存储 安全 Cloud Native
国产化?我们在信创下的改变。。。
信创是一个统称概念,实际是把现有与信息技术相关的行业结合在一起,命名为“信息技术应用创新产业”,简称“信创”。
1516 1
|
存储 弹性计算 Unix
阿里云服务器ECS系统盘和数据盘区别?
阿里云服务器系统盘和数据盘有什么区别?系统盘类似Windows电脑的C盘,数据盘相当于其他盘符,数据盘可以有多个而系统盘只能有一个,数据盘可有可无而云服务器系统盘是必须要有的
507 0
阿里云服务器ECS系统盘和数据盘区别?