Maven不能下载SNAPSHOT包但是能下载RELEASE包的解决办法

  在使用过程中,Maven默认配置是不能下载SNAPSHOT包的,这是基于一种代码稳定性进行考量得出的结论。引入SNAPSHOT包最大的问题就是,由于SNAPSHOT允许重复上传,所以引用一个这样的包开发的代码有可能在使用过程中会频繁出现接口变更,这会导致开发者疑惑并不清楚究竟是什么引发的问题。但是在自建项目中,这个特型又非常有用,尤其是需要新加接口时,每加个接口都发布一个release版本显然不合理。而同一团队基于一个SNAPSHOT进行开发显然沟通成本极小,可以支持频繁迭代和更改,发布模块显然比通过git subtree引用其他代码来的更简洁更模块化,适合团队内部开发使用。

  目前我们常用的修改仓库方式是在settings里新建一个mirror如下:

    <mirrors>
        <mirror>
            <id>nexus</id>
            <name>private maven</name>
            <url>http://xxxxxx:8081/repository/maven-public/</url>
            <mirrorOf>*</mirrorOf>
        </mirror>
    </mirrors>

  这种方式是引入外部mirror的时候使用的,如果要下载SNAPSHOT包,此种方式并不能满足要求,可以将这段配置注释掉,不影响私有仓库配置。我们可以手工配置profile的方式拉取仓库中的SNAPSHOT包,具体配置如下:

    <profiles>
        <profile>
            <id>nexus</id>
            <repositories>
                <repository>
                    <id>central</id>
                    <name>private maven</name>
                    <url>http://xxxxxxx:8081/repository/maven-public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>central</id>
                    <name>private maven</name>
                    <url>http://xxxxxx:8081/repository/maven-public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>

    <activeProfiles>
        <activeProfile>nexus</activeProfile>
    </activeProfiles>

  使用snapshots enabled启用SNAPSHOT包下载,并一定要把对应的profile ID加入到activeProfiles中,这样就可以提供SNAPSHOT服务了。

  PS:SNAPSHOT稳定了记得发布个release版本,毕竟发布多了可能忘了SNAPSHOT是什么版本了。

原文地址:https://www.cnblogs.com/gaoze/p/10792174.html

时间: 2024-10-08 06:08:37

Maven不能下载SNAPSHOT包但是能下载RELEASE包的解决办法的相关文章

(转)Maven依赖的jar包下载不了、jar更新不了的解决办法

场景一: 使用Maven的同学可能偶尔会遇到这种情况:pom.xml中依赖了项目需要的某个jar文件,但是使用Maven –> update project 还是没办法下载该jar到项目中,你可能需要检查本地仓库的配置,打开.m2目录下的settings.xml,配置一个中央仓库(或者你使用的jar所在的仓库地址)的镜像: <mirror> <id>mvnrepositoryMID</id> <mirrorOf>mvnrepositoryRID<

Pycharm 通过pip安装numpy包提示缺少visual c++ 14.0解决办法

软件版本信息: python: 3.8.2 , 64位 基于virtualenv创建工程后https://www.cnblogs.com/zhouzhishuai/p/8120335.html,在file/settings/project interpreter中安装numpy时提示缺少visual c++ 14.0,如下图所示. 解决办法: 直接到微软官网下载:Microsoft Build Tools2015https://www.microsoft.com/en-us/download/d

MAVEN ERROR: unable to find valid certification path to requested target 解决办法

第一次使用MAVEN编译项目,出现如下错误 解决办法:Maven的setting.xml中添加如下代码 <mirrors> <mirror> <id>Central</id> <url>http://repo1.maven.org/maven2</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>

Maven 本地仓库明明有jar包,pom文件还是报错解决办法

方法一: 找到出错的jar包文件位置,删掉_maven.repositories文件 方法二: maven中的本地仓库的index索引没有更新导致 解决方案: 在eclipse中打开菜单 window-> show view –> other –> Maven -> maven repositories 打开之后,选择local repositories –> local repository ,右击,选择Build index. 原文地址:https://www.cnblo

nginx配置虚拟域名后直接输出或下载网页源代码而不是运行网页文件的解决办法

参考链接:http://blog.csdn.net/iefreer/article/details/44293711 遇到这种问题,通常是由于fastcgi_script_name访问脚本路径不正确引起的. 尤其是带有子目录的情况,比如对于Yii框架而言,路径通常是project/web 那么如果在URL中访问 /project/index.php,那么nginx配置中的SCRIPT_NAME会是全路径:project/index.php 如果你配置中的代码如下: fastcgi_param S

virtualbox中新版本Ubuntu安装软件增强包后重启无限登录界面的解决办法

原来我虚拟机版本是4.2.10,装的Ubuntu3.3,因为版本过老使用出现了一些问题,于是换成14.04,安装成功,但是装增强包的时候,装完重启,无限登录界面,密码是对的,看了网上的很多方法,什么修改.Xauthority用户,删除 .Xauthority,修改权限,file文件都修改了,结果一律没什么卵用,于是升级了虚拟机版本,升级到4.2.12,不行,继续升级4.3.8,不行,再升级虚拟机出错,高版本不是很稳定,只能装回4.3.8.系统换成15.04,依旧不行.最后想着是不是因为低版本的软

安装maven之后,cmd提示mvn不是内部命令的解决办法

1.maven的安装教程 下载地址为:http://maven.apache.org/download.cgi 进入此页面之后 点击下载,然后解压,我把目录名改为maven,目录结构如下图所示 下面我们配置环境变量 这是maven_home: 在path变量的最后面加上       ;%maven_home%\bin     %号前面的;号不能扔掉 在cmd中输入mvn -version ,如果出现版本信息则正确安装了. 2.maven安装完成之后显示mvn不是内部命令 在设置环境变量path的

eclipse部署时候不拷jar包到web-inf下面的lib目录解决办法

前段时间在做项目的时候,用eclipse构建的maven工程部署到tomcat下面去时,发现tomcat的web-inf下面的lib目录是空的, 当时弄了好长时间,最后实在没辙了,就手动把所有的依赖拷到web-inf的lib下面去,但是每次重新部署时,eclipse自动部署又将lib目录清 空,当时那叫一个郁闷,后来我看了下别人的classpath文件,发现我的classpath跟别人的不同点 图1: 图2: 发现在加了上述attributes;标签后,能正常的部署项目,并且tomcat lib

eclipse集成tomcat运行web时提示引入jar包的类找不到的解决办法

参考:http://blog.csdn.net/fjssharpsword/article/details/50635049 在eclipse集成tomcat开发web时,java类引入的jar包,编译通过,但启动tomcat运行web时提示找不到jar包内的类,需要作如下配置,将jar包在部署到集成的tomcat环境中. 问题:在 web应用 右键->Run as -> Run on Server情况下,会找不到Java Resources下Libraries的jar,应该是eclipse工

Win7安装VisualStdio2015提示组件包损坏解决办法

最近编译Electron项目,由于用到了JavaScript调用原生C++能力,在Windows7 SP1上需要安装Visual Studio2015,遇到了总是提示组件包丢失或者损坏的提示. 解决办法如下: (1)开始-运行-MMC(2)文件-添加/删除管理单元(3)证书-计算机账户(4)证书-受信任的根证书颁发架构-证书(5)右键菜单-所有任务-导入(6)选择证书:2010和2011的根证书导入即可. 下载地址(vs2015需要ie 10+):链接:https://pan.baidu.com