• Maven 如何将本地的项目发布到 Archiva 中


    很多时候,我们可能并不希望将我们的构建代码发布到公共的 Maven 仓库中。

    为了一些私有的项目发布到公司内部的 Archiva 中,如何使用 Maven 进行发布。


    这个其实比较简单。

    你需要满足下面 3 个条件。

    1. 一个具有发布权限的 Maven 仓库
    2. 在 settings.xml 中配置你可以访问这个仓库的用户名和密码
    3. 配置你的 pom.xml 文件。

    在配置成功后,你可以运行 mvn clean deploy 进行发布。

    具体来说,针对一个条件,具有发布权限的 maven 仓库,最简单的办法你可以部署一个本地的 archiva。

    例如我们使用的仓库地址为 https://maven.ossez.com/,这是一个我们测试和发布私有仓库的地址。当然,你也可以使用其他的服务器或者商用服务。

    在 settings.xml 中配置 server, 在这里你需要配置 id 和用户名和密码。

    这里你需要使用发布 archiva 的真实用户名和密码。

    修改项目的 pom.xml 文件。

    添加下面的内容:

    	<distributionManagement>
    		<repository>
    			<id>maven.ossez.com</id>
    			<name>Internal Release Repository</name>
    			<url>https://maven.ossez.com/repository/internal/</url>
    		</repository>
    		<snapshotRepository>
    			<id>maven.ossez.com</id>
    			<name>Internal Snapshot Repository</name>
    			<url>https://maven.ossez.com/repository/snapshots/</url>
    		</snapshotRepository>
    	</distributionManagement>

    这里表示的是你希望发布到的仓库的链接地址。

    然后就可以直接运行 mvn clean deploy 进行部署了。

    输出为:

    C:WorkDirRepositorycwiki-us-demojava-tutorials>mvn clean deploy
    [INFO] Scanning for projects...
    [INFO]
    [INFO] ----------------------< com.ossez:parent-modules >----------------------
    [INFO] Building parent-modules 1.0.0
    [INFO] --------------------------------[ pom ]---------------------------------
    [INFO]
    [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ parent-modules ---
    [INFO]
    [INFO] --- maven-install-plugin:2.4:install (default-install) @ parent-modules ---
    [INFO] Installing C:WorkDirRepositorycwiki-us-demojava-tutorialspom.xml to C:Usersyhu.m2
    epositorycomossezparent-modules1.0.0parent-modules-1.0.0.pom
    [INFO]
    [INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ parent-modules ---
    Uploading to maven.ossez.com: https://maven.ossez.com/repository/internal/com/ossez/parent-modules/1.0.0/parent-modules-1.0.0.pom
    Uploaded to maven.ossez.com: https://maven.ossez.com/repository/internal/com/ossez/parent-modules/1.0.0/parent-modules-1.0.0.pom (9.2 kB at 12 kB/s)
    Downloading from maven.ossez.com: https://maven.ossez.com/repository/internal/com/ossez/parent-modules/maven-metadata.xml
    Downloaded from maven.ossez.com: https://maven.ossez.com/repository/internal/com/ossez/parent-modules/maven-metadata.xml (331 B at 150 B/s)
    Uploading to maven.ossez.com: https://maven.ossez.com/repository/internal/com/ossez/parent-modules/maven-metadata.xml
    Uploaded to maven.ossez.com: https://maven.ossez.com/repository/internal/com/ossez/parent-modules/maven-metadata.xml (330 B at 914 B/s)
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  4.573 s
    [INFO] Finished at: 2020-04-10T15:13:36-04:00
    [INFO] ------------------------------------------------------------------------
    
    C:WorkDirRepositorycwiki-us-demojava-tutorials>
    
    

    随后你可以到服务器上看你的文件有没有发布成功了。

    https://www.cwiki.us/display/MAVEN/questions/57938925

  • 相关阅读:
    elasticsearch数据迁移
    Leetcode <剑指 Offer 64. 求1+2+…+n>
    Leetcode <27.移除元素>
    Leetcode <7.整数反转>
    Leetcode <1. 两数之和>
    python实现对于告警规则的判断思路
    Python实现密码生成器
    Autojs 打包APP+签名
    Docker 文档整理
    Pycharm 连接Linux远程开发
  • 原文地址:https://www.cnblogs.com/huyuchengus/p/12677506.html
Copyright © 2020-2023  润新知