开发环境中使用Maven|学习笔记-阿里云开发者社区

开发者社区> 【开发者学堂】官方技术圈> 正文
登录阅读全文

开发环境中使用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

 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

阿里云开发者学堂,是开发者学习成长的一站式学习平台。平台源源不断的生产优质体系化课程、优质内容如电子书、直播、体验场景、训练营等,为开发者构建完善的学习成长体系,为开发者赋能。目前,开发者学堂包含数据库、大数据、云原生、AI、IoT等各大热门领域精品课,全部免费对开发者开放。

官方博客
最新文章
相关文章
官网链接