【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

相关文章

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

java实现docker镜像上传到harbor仓库的方式

《java实现docker镜像上传到harbor仓库的方式》:本文主要介绍java实现docker镜像上传到harbor仓库的方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 前 言2. 编写工具类2.1 引入依赖包2.2 使用当前服务器的docker环境推送镜像2.2

IDEA Maven提示:未解析的依赖项的问题及解决

《IDEAMaven提示:未解析的依赖项的问题及解决》:本文主要介绍IDEAMaven提示:未解析的依赖项的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录IDEA Maven提示:未解析的依编程赖项例如总结IDEA Maven提示:未解析的依赖项例如

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Maven中的profiles使用及说明

《Maven中的profiles使用及说明》:本文主要介绍Maven中的profiles使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录主要用途定义 Profiles示例:多环境配置激活 Profiles示例:资源过滤示例:依赖管理总结Maven 中的

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

maven私服配置全过程

《maven私服配置全过程》:本文主要介绍maven私服配置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用Nexus作为 公司maven私服maven 私服setttings配置maven项目 pom配置测试效果总结使用Nexus作为 公司maven私

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

IDEA中Maven Dependencies出现红色波浪线的原因及解决方法

《IDEA中MavenDependencies出现红色波浪线的原因及解决方法》在使用IntelliJIDEA开发Java项目时,尤其是基于Maven的项目,您可能会遇到MavenDependenci... 目录一、问题概述二、解决步骤2.1 检查 Maven 配置2.2 更新 Maven 项目2.3 清理本