【maven之四】 --maven仓库和常用命令

2024-08-25 20:38

本文主要是介绍【maven之四】 --maven仓库和常用命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    这几天项目开发中,经常会出现jar当不下来,jboss起不来的时候,所以经常做的动作就是clean项目,instal项目,project clean项目,但是对于这些操作,进一步的理解又说不出来。所以就查了一下这几个命令到底是干嘛的,要理解这几个命令,还得从maven 的仓局机制和声明周期说起。

一、Maven仓库

 1,maven仓库原理

    Maven仓库是基于简单文件系统存储的,只要在文件系统中没有发现相关的文件,说明这几种依赖并不存在,因此我们很容易在本地仓库查找具体的依赖是否存在。

2,仓库的分类

         


如上图所示,Maven的仓库分为本地仓库和远程仓库。远程仓库又包括中央仓库,私服,其他公共库,我们常用就是中央仓库和私服。

 1)本地仓库

  就是我闷自己电脑上的文件,所以他是唯一的,项目构建时候首先在本地仓库查找依赖,如果本地没有依赖时,才会去寻找远程仓库。

本地仓库的配置和存放配置过程:

a. 解压maven安装包到D盘根目录。
b. Eclipse—windows-Perferences—Maven-Installations—add-installation type 选择maven安装目录。在Installations中选择新配置的maven选项。

c. Eclipse—windows-Perferences—Maven—User Settings
点击Restore Defaults,没有反应但是会在C:\Users\${User}\.m2\路径下生成settings.xml文件。
d.打开资源管理器,找到C:\Users\${User}\.m2目录下的settings.xml,修改内容为自己需要配置的本地仓库、私服、远程仓库的地址链接,保存并关闭User Settings窗口。

usr Setting 中的主要内容如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><!-- 设置本地仓库路径 --><localRepository>D:\needforjava\maven\repository</localRepository><!-- 设置发布 jar 包时的用户名及密 --><servers><server><id>releases</id><username>***</username><password>****</password></server><server><id>snapshots</id><username>****</username><password>****</password></server>		</servers><!-- 设置 maven 的远程仓库为 nexus --><mirrors><mirror><id>nexus</id><mirrorOf>central</mirrorOf><name>nexus repository</name><url>http://192.168.********</url></mirror></mirrors><!-- 设置 central 的路径等 --><profiles><profile><id>central</id><repositories><repository><id>central</id><name>Central</name><url>http://******</url></repository></repositories><pluginRepositories><pluginRepository><id>central</id><name>Central</name><url>http://*******</url></pluginRepository></pluginRepositories></profile> </profiles><activeProfiles> <activeProfile>central</activeProfile></activeProfiles><!-- 配置eclipse插件 --><pluginGroups><pluginGroup>org.mortbay.jetty</pluginGroup>	<pluginGroup>org.codehaus.cargo</pluginGroup><pluginGroup>org.jvnet.hudson.tools</pluginGroup></pluginGroups></settings>


e.再次进入 Eclipse—windows-Perferences—Maven—User Settings

Global Settings选择maven 安装目录下conf文件夹下的settings.xml

检查Local Repository 项,如果为D:/maven/repository则配置成功,否则重新配置上一步。

 


2)远程仓库

    指的是非本地的所有其他仓库,中央仓库和私服都是远程仓库的一种,如果本地仓库没有项目构建需要的jar包,项目会自从从远程下载,如果远程仓库也没有,项目就会报错。中央仓库是默认的远程仓库,Maven安装文件自带远程仓库的位置是:http://repo.maven.apache.org/maven2

3)远程仓库---私服

    私服是一种特殊的远程仓库,它 是架设在局域网内的仓库服务,服务代码广域网上的远程仓库,供局域网内的Maven用户使用。当Maven需要下载构件的时候,它从私服请求,如果私服上不存在构件,则从外部的远程仓库下载,同时缓存在私服上,然后为Maven下载请求提供服务。另外,对于第三方的jar无法从仓库下载(jebc驱动)可以从本地上传到私服供客户端下载。

  优点如下:①节省外网的宽带。②加速Maven构建 ③部署第三方构件 ④提高稳定性,增强控制,因为内网相对外网来说,一般比较稳定。⑤降低中央仓库的负荷 ,原因是中央仓库的访问量太大。

                   



第二部分:maven命令

1,update Project(Alt+F5)

    本身是更新项目的意思,因为你的工程是一个Maven工程,你的工程做了一些修改之后,必须让Maven重新生成或修改相关文件。否则Ecplise将不知道变化。(当然也可以手动修改,让它知道,但是这样不推荐。)例如:①用在maven中是指pom.xml文件改动之后,需要执行Maven、Update Project来更新外部依赖的jar包。

对比:svn的update与Maven的updtae Project作用有什么不同?

SVN update只是更新项目的svn仓库。

maven update project则是进行一系列的操作。具体跟自己的配置有关,可能包含以下操作,更新SVN、更新项目关联、编译项目、构建发布等。如果jar包都是放在项目中,不是通过Maven管理,那么svn update时就取下来了。如果是用Maven仓库统一管理所有的jar包,那么是通过Maven update来获取。一般情况下,pom.xml修改之后,Maven会自动执行项目的Update。

2,maven install

   打包并且安装到本地仓库,此时本地仓库会新增maven-quickstart-1.0-SNAPSHOT.jar文件。

   相关的命令:

    mvn complile 编译项目。

    maven package:打包,此时target目录下回出现Maven-quickstart-1.0-SNAPSHOT.jar文件。即为打包后的文件。

3, eaplise -project - clean

                     

   ①,在ecplise的project菜单下面有一个build automatically.选中这个的话,每次在保存一会就会自动编译。

   ②,ecplise--->project--->clean...选项将工程中的.class文件删除,同时编译工程,类似于jbuild的rebuild。

由于ecplise的编译是基于时间戳的判断机制的。因此当用户按build all的时候有些ecplise认为时间撮没有改变的类不会被编译。因此需要先clean 一下再编译。这个时候,ecplise会将所有的以前编译信息清除然后编译。

小结:

    每次看都会觉得理解多了一点点,多学习几遍理解就深刻了。为什么有些东西总觉得理解不透,应该自己重复学习的次数少。

这篇关于【maven之四】 --maven仓库和常用命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1106606

相关文章

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

使用maven依赖详解

《使用maven依赖详解》本文主要介绍了Maven的基础知识,包括Maven的简介、仓库类型、常用命令、场景举例、指令总结、依赖范围、settings.xml说明等,同时,还详细讲解了Maven依赖的... 目录1. maven基础1.1 简介1.2 仓库类型1.3 常用命令1.4 场景举例1.5 指令总结

SpringBoot项目中Maven剔除无用Jar引用的最佳实践

《SpringBoot项目中Maven剔除无用Jar引用的最佳实践》在SpringBoot项目开发中,Maven是最常用的构建工具之一,通过Maven,我们可以轻松地管理项目所需的依赖,而,... 目录1、引言2、Maven 依赖管理的基础概念2.1 什么是 Maven 依赖2.2 Maven 的依赖传递机

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

springboot 加载本地jar到maven的实现方法

《springboot加载本地jar到maven的实现方法》如何在SpringBoot项目中加载本地jar到Maven本地仓库,使用Maven的install-file目标来实现,本文结合实例代码给... 在Spring Boothttp://www.chinasem.cn项目中,如果你想要加载一个本地的ja

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作