maven re(如何制作maven repository镜像)

:暂无数据 2026-09-19 05:20:02 :0

maven re(如何制作maven repository镜像)

各位老铁们好,相信很多人对maven re都不是特别的了解,因此呢,今天就来为大家分享下关于maven re以及如何制作maven repository镜像的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

如何制作maven repository镜像

首先,进入到Maven的安装目录下的conf文件下,可以看到有个settings.xml文件。
0maven安装及maven环境变量配置
0maven下载|安装|安装教程

可以将settings.xml文件先备份下,然后打开修改下面内容,如下所示

如果还需要thirdparty仓库或多个仓库,还可以添加下图所示。

以上配置的都是Maven的镜像地址换成了OSChina的镜像地址。
在执行Maven命令时,还要安装一些插件包修改插件包的下载地址。

5
如果还需要修改Maven文件的默认保存位置,直接在setting文件中按下面修改。
《localRepository》D:/新路径《/localRepository》

怎么从 maven 的 repository 中删除自己安装的 jar 包

Maven项目来说,日常使用的多数第三方java库文件都可以从Maven的Central Repository中自动下载,但是如果我们需要的jar文件不在Central Repository中,那么我们就需要手动将自己下载的jar文件加入到Maven的local reposotory中了,此时我们需要向Maven提供用于识别jar文件(可能多个)的groupId, artifactId和version等信息。
我并不打算讲怎么将一个下载的jar库加入到local repository中,我们将自己建立一个jar库,比如我们有一个最简单的HelloWorld类HelloWorld.java:

package com.thoughtworks.davenkin;

public class HelloWorld
{
public void sayHello()
{
System.out.println(“Hello, World“);
}
}

我们希望将HelloWorld.java打包成jar文件安装在Maven的local repository中以便其它程序使用。
编译打包hello-world.jar后,为了符合Maven的规定,需要给hello-world.jar一个版本号,故将hello-world.jar改名为hello-world-1.0.jar,此后便可以用mvn来安装此包到Maven的local repository中了:
mvn install:install-file -Dfile=path/to/hello-world-1.0.jar -DgroupId=com.thoughtworks.davenkin -DartifactId=hello-world -Dversion=1.0 -Dpackaging=jar

其中,-Dfile选项应给出需要安装jar文件的路径,在Linux/Mac下,jar文件将被安装在以下目录:
~/.m2/repository/com/thoughtworks/davenkin/hello-world/1.0/hello-world-1.0.jar

现在,我们的hello-world-1.0.jar便可以被其它Maven项目所使用了,为此创建一个Maven工程:
mvn archetype:generate-DgroupId=com.thoughtworks.davenkin.demo -DartifactId=helloworld-demo -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=1.0

此时将在当前目录下自动创建helloworld-demo子目录,切换到helloworld-demo目录,删除已有的App.java,并创建自己的Main.java文件
rm src/main/java/com/thoughtworks/davenkin/demo/App.java
touch src/main/java/com/thoughtworks/davenkin/demo/Main.java

将以下内容加入到Main.java文件中:

package com.thoughtworks.davenkin.demo;

import com.thoughtworks.davenkin.HelloWorld;

public class Main
{
public static void main(String args)
{
new HelloWorld().sayHello();
}
}

接下来是最重要的一步,修改pom.xml文件以加入对HelloWorld类的依赖:


到现在,我们的例子便可以运行了,在工程根目录下(该例为hello-world-demo)输入以下命令:
mvn exec:java -Dexec.mainClass=“com.thoughtworks.davenkin.demo.Main“

在笔者的机器上输出为:

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building demo 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] 》》》 exec-maven-plugin:1.2.1:java (default-cli) @ demo 》》》
[INFO]
[INFO] 《《《 exec-maven-plugin:1.2.1:java (default-cli) @ demo 《《《
[INFO]
[INFO] --- exec-maven-plugin:1.2.1:java (default-cli) @ demo ---
Hello, World
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.423s
[INFO] Finished at: Wed Feb 15 21:33:47 CST 2012
[INFO] Final Memory: 5M/81M
[INFO] ------------------------------------------------------------------------

以上高亮部分即为我们期望的程序输出,当然你也可以用传统的java命令来运行,此时需要将hello-world-1.0.jar加入到classpath中,输入:
java -cp ~/.m2/repository/com/thoughtworks/davenkin/hello-world/1.0/hello-world-1.0.jar:target/classes/ com.thoughtworks.davenkin.demo.Main

输出为:
Hello, World

maven repository怎么理解

简单点来说,repository就是个仓库。
maven里有两种仓库,本地仓库和远程仓库。远程仓库相当于公共的仓库,大家都能看到。
本地仓库是你本地的一个山寨版,只有你看的到,主要起缓存作用。
当你向仓库请求插件或依赖的时候,会先检查本地仓库里是否有。如果有则直接返回,否则会向远程仓库请求,并做缓存。

如何解决Maven依赖本地仓库eclipse报错的问题

一、应用场景



为了使用maven强大的包依赖管理和项目管理功能,故在项目中使用maven2作为项目建构工具。

但是我的项目在内网构建,为了能使用maven2,只能使用本地仓库依赖策略。



但是,有时候明明本地仓库确确实实存在相应的依赖包,但是在eclipse环境下依然会报错,即:在pom.xml显示错误提示信息。



经过我的实践证明,可以通过如下方式解决。



二、示例讲解



以依赖commons-io-2.0.1为例讲解:



在pom.xml中配置:



《dependency》



《groupId》commons-io《/groupId》



《artifactId》commons-io《/artifactId》



《version》2.0.1《/version》


《/dependency》


三、解决方案



1、
首先,从其他可以在外网下载相应依赖包的地方下载好相应的依赖包到本地仓库,再将该本地仓库拷贝到项目相应位置,便于引用。



2、安装Maven2并进行相应配置,关于Maven2具体安装和配置,略过。



注意:在Maven2的配置文件setting.xml一定要修改如下属性:



《offline》true《/offline》



该属性配置默认为false,因为是在内网,无法到外网下载依赖包,所以一定要配置离线属性为true。



3、如果本地仓库确实存在该依赖包,且eclipse没有报错,那么在本地仓库中找到该依赖包所在的位置,相应目录下必定存在如下6个文件:



_maven.repositories



commons-io-2.0.1.jar



commons-io-2.0.1.jar.sha1



commons-io-2.0.1.pom



commons-io-2.0.1.pom.sha1



m2e-lastUpdated.properties




依赖配置正确且eclipse没有报错时依赖包目录下包含的文件



当然,如下载了源码的话,应该还包括如下2个文件:



commons-io-2.0.1-sources.jar



commons-io-2.0.1-sources.jar.sha1



所以,如果当本地仓库中确实存在相应的依赖jar包,但是在eclipse中依然报错的话,请进入到相应依赖包的目录位置,观察该目录下是否对应存在如图1所示的6个文件。



通常情况下,当在eclipse中报错的话,在依赖包目录下还存在一个“xxx.lastUpdated”文件。



如果确实存在“xxx.lastUpdated”文件的话,请先删除该文件。并确认是否存在如下2个文件:


_maven.repositories


m2e-lastUpdated.properties


通常在eclipse中报错的话,是不会存在这2个文件的,到别的依赖正确的jar包目录下去拷贝这2个文件到当前目录下,并修改相应内容:


(1)、 修改“_maven.repositories”内容:



#NOTE: This is an internal implementation file,

its format can be changed without prior notice.

#Wed Jul 10 09:16:30 CST

2013

${artifactId}-${version}-sources.jar》nexus=

${artifactId}-${version}.jar》central=

${artifactId}-${version}.pom》central=

${artifactId}-${version}.pom》nexus=

${artifactId}-${version}.jar》nexus=



如:commons-io-2.0.1依赖包目录下的_maven.repositories文件内容如下:



#NOTE: This is an internal implementation file,

its format can be changed without prior notice.

#Wed Jul 10 09:16:30 CST

2013

commons-io-2.0.1-sources.jar》nexus=

commons-io-2.0.1.jar》central=

commons-io-2.0.1.pom》central=

commons-io-2.0.1.pom》nexus=

commons-io-2.0.1.jar》nexus=



(2)、 m2e-lastUpdated.properties文件内容可以不用修改!



完成后,在eclipse中clean一下项目,并执行“Maven-》Update

Project...”,OK,问题解决!

eclipse maven global repositories下面什么都没有

说先说下repository是什么:repository是maven在本地的jar包库,项目中依赖的jar文件都是网上下载下来,放在本地库。今后,项目需要使用某个jar,如果本地库已经有了,maven就不会从网络下载了。

关于repository的路径,如果你用的win7以上系统,会在C盘你自己的用户下面有一个.m2文件夹,里面有一个settings.xml,这个就是你maven的全局配置文件。在文件中有一个节点:《localRepository/》,是用来指定repository的路径,配置下即可。比如:《localRepository》D:\Local-Repo《localRepository》

关于maven中配置远程仓库的问题

我们通常配置《repositories》
《mirror》添加镜像库,防止《repositories》主库网络超时,还可以从mirror处下载

在idea中的Settings下的maven下的Repositories问题

你本地的mvn配置文件指向的库也是在你本地吧,下面两个链接是远程库,变红应该是无法访问,你选中第一个在点击update就行

mvn库介绍

maven repository 私人仓库怎么搭建

方法:

1.基于artifactId准备路径,将artifactId连接到后面:org/testng/testng

2.使用version准备路径,将version连接到后面:org/testng/testng/5.8

3.将artifactId于version以分隔符连字号连接到后面:org/testng/testng/5.8/tesng-5.8

4.判断如果构件有classifier,就要在 第4项 后增加 分隔符连字号 再加上 classifier,org/testng/testng/5.8/tesng-5.8-jdk5

5.检查构件的extension,如果extension存在,则加上句点分隔符和extension,而extension是由packing决定的,org/testng/testng/5.8/tesng-5.8-jdk5.jar

  • 6、基于groupId准备路径,将句点分隔符转成路径分隔符,就是将  “.“  转换成 “/“ ; example: org.testng ---》org/testng

参考资料

Maven详解之仓库------本地仓库、远程仓库.研发管理[引用时间2017-12-28]

maven的setting配置文件中mirror和repository的区别是什么

repository就是个仓库。maven里有两种仓库,本地仓库和远程仓库。

mirror和repository

远程仓库相当于公共的仓库,大家都能看到。本地仓库是你本地的一个山寨版,只有你看的到,主要起缓存作用。当你向仓库请求插件或依赖的时候,会先检查本地仓库里是否有。如果有则直接返回,否则会向远程仓库请求,并做缓存。你也可以把你做的东西上传到本地仓库给你本地自己用,或上传到远程仓库,供大家使用。

远程仓库可以在工程的pom.xml文件里指定,楼上两位已经列的很清楚了。如果没指定,默认就会把下面这地方做远程仓库,即默认会到

关于本次maven re和如何制作maven repository镜像的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

maven re(如何制作maven repository镜像)

本文编辑:admin

更多文章:


协方差计算公式(协方差的计算公式)

协方差计算公式(协方差的计算公式)

这篇文章给大家聊聊关于协方差计算公式,以及协方差的计算公式对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 08:10

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

本篇文章给大家谈谈易语言网页api接口怎么调用,以及易语言,怎么读取网页json的api对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月11日 08:00

majority of(the majority of 和 a majority of的区别以及用法例句)

majority of(the majority of 和 a majority of的区别以及用法例句)

这篇文章给大家聊聊关于majority of,以及the majority of 和 a majority of的区别以及用法例句对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 07:40

汉字机内码查询表(1个汉字的机内码是几位谢谢)

汉字机内码查询表(1个汉字的机内码是几位谢谢)

大家好,关于汉字机内码查询表很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于1个汉字的机内码是几位谢谢的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月11日 07:20

promote翻译(英语翻译倡导怎么说)

promote翻译(英语翻译倡导怎么说)

其实promote翻译的问题并不复杂,但是又很多的朋友都不太了解英语翻译倡导怎么说,因此呢,今天小编就来为大家分享promote翻译的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 06:30

用手机如何导航?开车用手机导航哪个软件最好

用手机如何导航?开车用手机导航哪个软件最好

今天给各位分享用手机如何导航的知识,其中也会对用手机如何导航进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 06:20

多线程技术有什么用(多线程有什么作用)

多线程技术有什么用(多线程有什么作用)

其实多线程技术有什么用的问题并不复杂,但是又很多的朋友都不太了解多线程有什么作用,因此呢,今天小编就来为大家分享多线程技术有什么用的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 05:40

another time(another time和other time的区别)

another time(another time和other time的区别)

大家好,another time相信很多的网友都不是很明白,包括another time和other time的区别也是一样,不过没有关系,接下来就来为大家分享关于another time和another time和other time的区

2026年10月11日 05:00

java开发工具包jdk(JDK是什么意思)

java开发工具包jdk(JDK是什么意思)

其实java开发工具包jdk的问题并不复杂,但是又很多的朋友都不太了解JDK是什么意思,因此呢,今天小编就来为大家分享java开发工具包jdk的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 04:50

mysql 命令(MySQL的基本命令)

mysql 命令(MySQL的基本命令)

大家好,如果您还对mysql 命令不太了解,没有关系,今天就由本站为大家分享mysql 命令的知识,包括MySQL的基本命令的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 03:00

最近更新

majority of(the majority of 和 a majority of的区别以及用法例句)
2026-10-11 07:40:02 浏览:0
热门文章

标签列表