美文网首页
关于配置和引用Maven算法项目服务的踩坑总结:

关于配置和引用Maven算法项目服务的踩坑总结:

作者: 皮卡皮皮卡皮丘 | 来源:发表于2019-05-14 21:26 被阅读0次

    [if !supportLists]1. [endif]之前通过mvn clean package -DskipTests打包,手动上传到nexus上,在新工程引用的时候不能自动下载该依赖所依赖的第三方包。

    解决方案:直接在pom文件里配置发布地址,配置需要发布到的远程仓库地址,修改pom.xml文件,添加以下配置节点:

    <distributionManagement>    

            <repository>      

                      <id>localhost</id>     

                       <url>http://localhost:8081/nexus/content/repositories/thirdparty/</url> 

             </repository>

    </distributionManagement>

    注意:在distributionManagement段中配置的地址,这里是采用nexus作为镜像服务器。如果这个镜像服务器需要用户名和密码,那么还需要在maven的settings.xml文件中做如下配置:

    <server>

          <id>localhost</id>

          <username>admin</username>

          <password>admin123</password>

    </server>

    注意这里配置的server的id必须和pom文件中的distributionManagement对应仓库的id保持一致,maven在处理发布时会根据id查找用户名称和密码进行登录和文件的上传发布。

    [if !supportLists]2. [endif]公司仓库地址上传成功,本地则不成功,部署到Nexus时出现的Failed to transfer file错误(400)

    解决方案

    关键的是Nexus中Releases仓库默认的Deployment Policy是“Disable Redeploy”,所以无法部署的问题在这个地方,方法是将其修改为“Allow Redeploy”就可以了

    [if !supportLists]3. [endif]如果上传相同版本的包,则在新的工程使用时,需要删除本地之前下载过的包然后重新引入,不然不会自动去更新,所以迭代的时候需要修改版本号。

    解决方案:

    去查看文件目录:(C:\Users\Administrator\.m2\repository\)

    对原始包进行删除。

    附:

    (1)在pom.xml中repositories标签的作用是用来配置maven项目的远程仓库。应用远程仓库的依赖时需要配置对应的仓库的地址去下载。

    注:

    <repositories>

           <repository>

                <id>远程仓库唯一标识符</id>

                <url>远程仓库的url</url>

           </repository>

    </repositories>

    (2)项目编译打包配置,需要修改pom.xml文件,添加以下配置节点:

               <plugins>           

                     <plugin>                

                        <artifactId>maven-dependency-plugin</artifactId>      

                  </plugin>           

               </plugins>  

      </build>

    相关文章

      网友评论

          本文标题:关于配置和引用Maven算法项目服务的踩坑总结:

          本文链接:https://www.haomeiwen.com/subject/viesaqtx.html