`
agapple
  • 浏览: 1596175 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

googlecode deploy to mvn repo

 
阅读更多

背景

  前段时间在整的BeanMapping,功能开发和单元测试已经基本完善,准备release一个新版本。花了点时间找了下,如何deploy到maven central(http://repo1.maven.org/maven2/),方别客户端使用。

 

在测试过程中,我先找了googlecode自己的svn做为mvn repo进行测试。后续迁移到mvn central repo也只是url和帐号的问题。

过程

我的工程:  http://code.google.com/p/mapping4java/

对应的代码路径: http://mapping4java.googlecode.com/svn/

第一步

我选择googlecode svn做为mvn repo,所以需要预先创建svn目录。

 

svn mkdir https://mapping4java.googlecode.com/svn/maven-repo/snapshots -m "create repo"
svn mkdir https://mapping4java.googlecode.com/svn/maven-repo/releases -m "create repo"

 

注意:

  • 使用的svn url需要以https打头,http为只读不可进行svn提交。

第二步

配置pom.xml,设置repo目录

<distributionManagement>
	<repository>
		<id>googlecode-repo-releases</id>
		<name>Maven Repository Releases</name>
		<url>svn:https://mapping4java.googlecode.com/svn/maven-repo/releases</url>
		<uniqueVersion>false</uniqueVersion>
	</repository>
	<snapshotRepository>
		<id>googlecode-repo-snapshots</id>
		<name>Maven Repository Snapshots</name>
		<url>svn:https://mapping4java.googlecode.com/svn/maven-repo/snapshots</url>
		<uniqueVersion>false</uniqueVersion>
	</snapshotRepository>
</distributionManagement>

注意:

  • 定义repository/snapshotRepository,分别指定url为第一步创建的releases/snapshots目录
  • 注意对应的url为 svn:https://,表明使用svn协议进行提交
  • 注意这里的id设置,需要和后续的第三步相对应

第三步

配置settings.xml,设置repo的帐号密码

 

<servers>
	<server>
      <id>googlecode-repo-releases</id>
      <username>username</username>
      <password>password</password>
    </server>
    <server>
      <id>googlecode-repo-snapshots</id>
      <username>username</username>
      <password>password</password>
    </server>
<servers>

 注意:

  • 对应server.id需要和第二步设置的id相对应

第四步

开始deploy代码,运行: mvn deploy

 

结果:

其他

针对第二步和第三步,可以使用deploy:deploy-file进行替换

 

 

mvn deploy:deploy-file -Durl=file://C:\m2-repo \
                       -DrepositoryId=some.id \
                       -Dfile=your-artifact-1.0.jar \
                       [-DpomFile=your-pom.xml] \
                       [-DgroupId=org.some.group] \
                       [-DartifactId=your-artifact] \
                       [-Dversion=1.0] \
                       [-Dpackaging=jar] \
                       [-Dclassifier=test] \
                       [-DgeneratePom=true] \
                       [-DgeneratePom.description="My Project Description"] \
                       [-DrepositoryLayout=legacy] \
                       [-DuniqueVersion=false]

 

运行的命令:

 

mvn deploy:deploy-file -Dfile="C:\Documents and Settings\Administrator\.m2\repository\com\googlecode\mapping\mapping\1.0-SNAPSHOT\mapping-1.0-SNAPSHOT.jar" 
       -Durl="svn:https://mapping4java.googlecode.com/svn/maven-repo/snapshots" 
       -DrepositoryId=repo-snapshots 
       -DgroupId=com.googlecode.mapping 
       -DartifactId=mapping 
       -DpomFile=pom.xml 
       -Dpackaging=jar -Dversion=1.0-SNAPSHOT

 

注意:

  • -Durl的值和第二步保持一致

相关资料

  1. http://maven.apache.org/plugins/maven-deploy-plugin/usage.html
  2. http://stackoverflow.com/questions/1280470/maven-repository-for-google-code-project
  3. http://www.thewebsemantic.com/2009/04/11/your-very-own-google-code-maven-repo/

如何提交mvn central repo?

1. 参考资料: 

里面建议使用Sonatype OSS Repository做为mvn repo,由sonatype会定时同步到mvn central repo。

具体的配置过程:

基本照着这个文档,很快你就可以deploy你的工程到mvn central repo了。整个过程和前面提到的几步操作类似
相关url : 
提供了一个解决方案,所有的deploy到它的svn repo目录,再由它做为sonatype的一个jira,进行同步。相关讨论: http://code.google.com/p/support/issues/detail?id=1226

 

  • 大小: 169.4 KB
分享到:
评论

相关推荐

    mvn-repo-cleaner:通过删除旧的库版本来清理Maven本地.m2存储库的实用程序。 另外,使用可选开关清理快照,源,组,工件

    mvn-repo-cleaner -Maven资源库清理器是用于清理开发人员盒上本地.m2目录的实用程序。 随着新版本的从属库出现,旧的库已过时并且永远不会被清除。 该程序通过删除下载到.m2目录的旧版本库来帮助释放一些磁盘空间。...

    Urbancode Deploy User Guide

    ### Urbancode Deploy User Guide 关键知识点 #### 一、概述 - **产品文档与支持**:本指南旨在为用户提供关于 Urbancode Deploy(简称 uDeploy)的详细安装与配置指南,帮助用户快速上手并有效利用该平台进行部署...

    mvn-repo:我的个人 Maven 存储库

    "mvn-repo"这个术语通常指的是一个Maven仓库,它存储了各种依赖项,如JAR文件,供Maven项目在构建时引用。在这个场景中,"mvn-repo:我的个人 Maven 存储库"意味着创建者建立了一个私有的Maven仓库,用于存放自己的...

    mvn 常用命令手册mvn开发必备

    `mvn deploy:deploy-file` 用于将一个已存在的文件部署到远程仓库。这对于发布项目到私有仓库非常有用,可以指定文件的位置、版本、仓库URL等信息。 #### 15. `mvn install:install-file` 用于安装一个已存在的...

    how to deploy to remote.txt

    maven deploy the local file to a remote server. 1.config your pom.xml; 2.config your setting.xml; 3.execte cmd --- mvn deploy

    aws-code-deploy:Bash脚本,可通过AWS Code Deploy轻松部署应用程序。 设计用于与TravisCI,CircleCI和CodeShip等CI系统配合使用,并提供这些供应商的现成解决方案中未包含的功能

    **aws-code-deploy** 是一个基于Bash脚本的工具,专为简化通过AWS Code Deploy进行应用程序部署而设计。这个工具特别适用于集成到持续集成(CI)系统中,如Travis CI、CircleCI和CodeShip,它能弥补这些CI服务在与...

    code-deploy-demo-repo

    #使用AWS Code Deploy和Jenkins进行构建和部署自动化这是一个maven应用程序,用于使用以下组件a来自动化构建和部署过程。 Amazon Code Deploy-作为应用程序环境b。 Amazon S3服务-修订/内部版本的存储b。 Jenkins-...

    maven deploy时报错的解决方法

    使用`mvn clean`清除旧的构建产物,然后执行`mvn deploy`。 6. **查阅Maven官方文档和社区资源**:如果你仍然遇到困难,Maven的官方文档和开发者社区,如Stack Overflow,通常会提供更多的解决方案和讨论。 理解并...

    yolov8系列--A repo that uses TensorRT to deploy wll-trained .zip

    yolov8系列--A repo that uses TensorRT to deploy wll-trained

    aws-code-deploy-demo

    使用AWS Code Deploy和Jenkins进行构建和部署自动化这是一个Maven应用程序,用于使用以下组件a来自动进行构建和部署过程。 Amazon Code Deploy-作为应用程序环境b。 Amazon S3服务-修订/内部版本的存储b。 Jenkins-...

    sou4j-mvn-repo

    7. **构建流程**:在Maven中,开发者可以通过命令行执行如`mvn install`,将项目打包并安装到本地仓库,或`mvn deploy`将项目发布到远程仓库,供其他项目使用。 总的来说,"sou4j-mvn-repo"是一个与Maven仓库相关的...

    How To Deploy Kamailio

    How To Deploy Kamailio on Linux

    Mvn常用命令总结

    手动部署文件到远程仓库:`mvn deploy:deploy-file` 当需要手动部署文件到远程仓库时,可以使用该命令。例如: ``` mvn deploy:deploy-file -DgroupId=...

    mvn常用命令

    `mvn deploy:deploy-file`部署文件到Repository,例如: `mvn deploy:deploy-file -DgroupId=...

    mvn常用命令行

    Maven 的强大之处在于其插件机制,`mvn jetty:run` 可以直接将项目部署到 Jetty 服务器运行,`mvn deploy:deploy-file` 用于上传自定义的 JAR 文件到远程仓库。 总之,理解并熟练使用这些 Maven 命令行,将有助于你...

    deploy.hpi

    deploy.hpi文件

    Node.js-deploy-to-kube只需一个命令就能将node.js程序部署到Kubernetes无需配置

    标题中的"Node.js-deploy-to-kube"是一个工具或库,它简化了将Node.js应用程序部署到Kubernetes集群的过程。这个工具的目的是让开发者能够快速、便捷地将他们的Node.js应用推送到Kubernetes,而无需手动进行繁琐的...

    Python库 | django-code-deploy-0.9.65.tar.gz

    **Python库 Django Code Deploy 0.9.65 深度解析** 在软件开发领域,特别是后端开发,Python以其简洁的语法和强大的库支持备受青睐。Django作为Python的一个高级Web框架,极大地简化了Web应用的构建过程。本文将...

Global site tag (gtag.js) - Google Analytics