github和maven_在github上托管Maven存储库(包含源代码和javadoc)

github和maven

如何通过maven使其他开发人员可以使用小型开源库? 一种方法是将其部署在Maven Central Repository上 。 我想要做的是将其部署到github ,因此我可以自由地对其进行修改。 这篇文章将告诉您如何做到这一点。

我将工件部署到github的典型方法是使用mvn deploy 。 步骤如下:

  • 使用site-maven-plugin将工件推送到github
  • 使用maven-javadoc-plugin推送Javadoc
  • 使用maven-source-plugin推送源
  • 配置Maven以将远程mvn-repo用作Maven存储库

配置Maven部署插件

首先,我添加以下代码片段来告诉Maven将工件部署到目标目录中的临时位置:

<distributionManagement><repository><id>internal.repo</id><name>Temporary Staging Repository</name><url>file://${project.build.directory}/mvn-repo</url></repository>
</distributionManagement>
<plugins><plugin><artifactId>maven-deploy-plugin</artifactId><version>2.8.1</version><configuration><altDeploymentRepository>internal.repo::default::file://${project.build.directory}/mvn-repo</altDeploymentRepository></configuration></plugin>
</plugins>

配置Maven

然后我将我的github.com身份验证信息添加到~/.m2/settings.xml以便github site-maven-plugin可以将其推送到github:

<settings><servers><server><id>github</id><password>OAUTH2TOKEN</password></server></servers>
</settings>

要么

<settings><servers><server><id>github</id><username>GitHubLogin</username><password>GitHubPassw0rd</password></server></servers>
</settings>

就我个人而言,我更喜欢第一种方法,因为它更安全(无需显式显示密码)。 要获取github项目的OAUTH2TOKEN ,请转到settings --> Applications --> Genreate new token

配置site-maven-plugin

配置site-maven-plugin从我的临时位置上传到github上的mvn-repo分支:

<plugin><groupId>com.github.github</groupId><artifactId>site-maven-plugin</artifactId><version>0.9</version><configuration><message>Maven artifacts for ${project.version}</message><noJekyll>true</noJekyll><outputDirectory>${project.build.directory}/mvn-repo</outputDirectory><branch>refs/heads/mvn-repo</branch><includes><include>**/*</include></includes><repositoryName>pengyifan-commons</repositoryName><repositoryOwner>yfpeng</repositoryOwner><server>github</server></configuration><executions><execution><goals><goal>site</goal></goals><phase>deploy</phase></execution></executions>
</plugin>

写这篇文章时,存在0.9版site-maven-plugin 。 要解决此问题,请git clone 0.10-SNAPSHOT版本,并手动mvn install

配置maven-source-plugin

要将源代码包添加到mvn-repo中,我们需要配置maven-source-plugin 。 在pom.xml添加以下代码:

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>2.3</version><executions><execution><id>attach-sources</id><goals><goal>jar</goal></goals></execution></executions>
</plugin>

配置Maven-javadoc-plugin

要将java doc软件包添加到mvn-repo中,我们需要配置maven-javadoc-plugin 。 在pom.xml添加以下代码:

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><executions><execution><id>attach-javadocs</id><goals><goal>jar</goal></goals></execution></executions>
</plugin>

现在运行mvn clean deploy 。 我看到maven-deploy-plugin将文件“上传”到目标目录中的本地暂存库中,然后site-maven-plugin提交这些文件并将其推送到服务器。

要验证所有二进制文件是否存在,请在浏览器中访问github ,然后选择mvn-repo分支。

配置Maven以将远程mvn-repo用作Maven存储库

我们应该采取的另一步骤是配置任何poms以知道我们的存储库在哪里。 我们可以将以下代码段添加到任何项目的pom.xml中:

<repositories><repository><id>PROJECT-NAME-mvn-repo</id><url>https://raw.github.com/USERNAME/PROJECT-NAME/mvn-repo/</url><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots></repository>
</repositories>

翻译自: https://www.javacodegeeks.com/2014/09/hosting-a-maven-repository-on-github-with-sources-and-javadoc.html

github和maven

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339734.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kafka java编程demo_Kafka简单客户端编程实例

今天&#xff0c;我们给大家带来一篇如何利用Kafka的API进行客户端编程的文章&#xff0c;这篇文章很简单&#xff0c;就是利用Kafka的API创建一个生产者和消费者&#xff0c;生产者不断向Kafka写入消息&#xff0c;消费者则不断消费Kafka的消息。下面是具体的实例代码。一、创…

java我的世界极限生存_我的世界 1.7.10 极限生存整合包

整合包介绍&#xff1a;最近总有人觉得Minecraft很无聊&#xff0c;没有什么可玩的&#xff0c;或者觉得生存太简单 那么就来试试这个吧&#xff0c;全部是增强怪物的MOD&#xff0c;保证不无聊&#xff0c;保证不简单 基本上没有增加一些新的东西&#xff0c;只增加了几种怪物…

具有InlfuxDB的Spring Boot和Micrometer第1部分:基础项目

对于那些关注此博客的人来说&#xff0c;难怪我倾向于大量使用InfluxDB。 我喜欢这样一个事实&#xff0c;它是一个真正的单一用途的数据库&#xff08;时间序列&#xff09;&#xff0c;具有许多功能&#xff0c;并且还带有企业支持。 Spring也是我选择的工具之一。 因此&…

Gradle善良:仅添加包装用于战争

我的同事Tom Wetjens 在Maven中撰写了博客文章仅打包依赖项 。 当我们想在WAR文件中包含依赖项时&#xff0c;他展示了一种Maven解决方案&#xff0c;而在其他任何作用域中都没有使用。 在这篇博客中&#xff0c;我们将看到我们如何在Gradle中解决这个问题。 假设我们在项目中…

java递归api_javaAPI_IO流基础_递归使用

IO流_递归1.递归概述递归指的是方法定义中调用自身方法的情况。2.递归的注意事项(1).要有出口&#xff0c;否则就是死递归(2).次数不能太多&#xff0c;否则就内存溢出(3).构造方法不能递归使用[不然在创建对象的时候就会内存溢出]3.递归解决问题的思想(1).分解法:把问题细分为…

PIT,JUnit 5和Gradle –仅需额外的一行配置

在Gradle&#xff08;带有gradle-pitest-plugin 1.4.7&#xff09;中发现简单&#xff0c;经过改进的PIT和JUnit 5配置。 不可否认&#xff0c;如今JUnit 5越来越受欢迎。 虽然为JUnit 5提供了一个专用于PIT的插件&#xff0c;并且gradle-pitest-plugin支持了很多年&#xff0…

apache camel_使用WildFly 8在Java EE7中自举Apache Camel

apache camel从Camel版本2.10开始&#xff0c;支持CDI&#xff08;JSR-299&#xff09;和DI&#xff08;JSR-330&#xff09;。 这为在Java EE容器中以及在独立的Java SE或CDI容器中开发和部署Apache Camel项目提供了新的机会。 是时候尝试一下并熟悉它了。 骆驼到底是什么&am…

python中可变参数怎么传递的呢_在python中,你可以在命名参数后传递可变参数吗?...

can you pass variadic arguments after named parameters?Python 3.4.3&#xff1a;答案是肯定的.如果要调用仅命名固定参数的函数,请将可变参数放在函数定义中def function(*args, bob, sally):print(args, bob, sally)values [1, 2, 3, 4]function(bob"Hi bob",…

Hibernate中保存与持久性以及saveOrUpdate之间的区别

保存与保存或更新与持久保存在Hibernate中 save和saveOrUpdate之间的区别是什么或save和persist之间的区别是任何Hibernate面试中常见的面试问题&#xff0c;就像Hibernate中get和load方法之间的区别一样。 Hibernate Session类提供了几种方法&#xff0c;可以通过诸如save&am…

java的log计算_Java普通对数(log)计算方法

Java给我提供的数学计算的工具类Math计算对数的函数有两个&#xff1a;/*** Returns the natural logarithm (base e) of a {code double}* value. Special cases:* If the argument is NaN or less than zero, then the result* is NaN.* If the argument is positive infinit…

javaee编程题_在JavaEE中使用CDI的简单面向方面的编程(AOP)

javaee编程题我们编写满足特定业务逻辑的服务API。 涵盖所有服务API&#xff08;如安全性&#xff0c;日志记录&#xff0c;审核&#xff0c;度量延迟等&#xff09;的跨领域问题很少。 这是一个重复的非业务代码&#xff0c;可以在其他方法之间重用。 重用的一种方法是将这些重…

java中的语句有哪些_java中的循环语句有哪些

Java中有三种主要的循环结构&#xff1a;while 循环do…while 循环for 循环顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,&#xff0c;就需要使用循环结构。一、while循环语法&#xff1a;while( 布尔表达式 ) {     //循环内容   }只要符合布尔表达…

使用自动伸缩组在AWS中运行安全数据库集群

当您必须在AWS上运行可伸缩应用程序时&#xff0c;您的数据库也必须可伸缩。 扩展无状态应用程序层更容易&#xff0c;在无状态应用程序层中&#xff0c;每个节点大部分都是可使用的-即使3节点集群中的一个节点发生故障&#xff0c;您也可以启动另一个节点&#xff0c;而没人注…

php无法新数据类型,新手入门PHP必知的七种数据类型

想要入门PHP&#xff0c;首先要学会搭建环境&#xff0c;其次是学习基础语法。PHP的基础包括数据类型&#xff0c;运算符&#xff0c;变量和常量等。在这篇文章中&#xff0c;我们主要了解什么是数据类型。数据类型是指同种数据的一个统称&#xff0c;一般会描述为XX数据类型。…

java batch_Java EE 7 Batch中传递属性/参数的2种方式

java batch谈到Java EE 7批处理功能&#xff0c;有两种方法可以将属性/参数传递给块和批处理。 本快速指南向您展示了两种方式&#xff0c;在开发批处理Java EE 7方式时可能会经常使用它们。 1.运行前预定义的属性/参数 预定义属性是您在部署应用程序之前定义的属性&#xff0…

攻防世界web高手进阶php_rce,php_rce 攻防世界xctf web

php_rce首先了解ThinkPHP5.x rec 漏洞分析与复现https://blog.csdn.net/qq_40884727/article/details/101452478var_pathinfo的默认配置为s,我们可以通过$_GET[‘s’]来传参于是构造payloadhttp://111.198.29.45:30600/index.php?sindex/\think\App/invokefunction&functi…

具有InlfuxDB的Spring Boot和Micrometer第2部分:添加InfluxDB

自从我们添加了基本应用程序以来&#xff0c;是时候启动InfluxDB实例了。 我们将按照之前的教程进行操作&#xff0c;并添加一个docker实例。 docker run –rm -p 8086&#xff1a;8086 –name influxdb-本地influxdb 是时候在我们的pom上添加微米InfluxDB依赖项了 < dep…

ci 地址去掉index.php,CI框架如何删除地址栏的 index.php

默认CI框架显示地址是http://localhost/ci/index.php/test/去PHP去掉index.php这样会更好些。1.修改Http.conf的LoadModule rewrite_module modules/mod_rewrite.so去掉注释2.ci根目录增加.htaccess文件RewriteEngine OnRewriteBase /ci#Removes access to the system folder b…

gradle的二进制版本_Gradle入门:创建二进制分发

gradle的二进制版本创建有用的应用程序后&#xff0c;很可能我们想与其他人共享它。 一种方法是创建一个可以从我们的网站下载的二进制发行版。 这篇博客文章描述了如何满足以下要求的二进制发行版&#xff1a; 我们的二进制分发不得使用所谓的“胖子”方法。 换句话说&#…

php auth和rbac区别,php中比rbac更好的权限认证的方式auth类认证

RBAC是按节点进行认证的&#xff0c;如果要控制比节点更细的权限就有点困难了&#xff0c;比如页面上面的操作按钮&#xff0c; 我想判断用户权限来显示这个按钮&#xff0c; 如果没有权限就不会显示这个按钮&#xff1b; 再比如我想按积分进行权限认证&#xff0c; 积分在0-10…