懒得建私库,所以用GitHub作为私库使用
参考:https://juejin.im/entry/5b8e51d751882542e56e6ad8 自己实践中在原文基础上做了修改
具体设置步骤如下:
一、1.创建仓库
首先在你的GitHub上创建一个maven-repo(名称自定义,改完后下方提到该名称地方记得同步修改哦),创建一个README.md,如清单1.1所示(不然后需mvn clean deploy 会报409错误)
步骤1:
步骤2:
2、修改maven的setting.xml文件
<server>
<id>github</id>
<username>github登陆名</username>
<password>github登陆密码</password>
</server>
3、配置本地工程的pom.xml文件
3.1、compiler 插件中的 Java 版本配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
3.2、配置site-maven-plugin并将它关联到 deploy 阶段
例子中存储库名称是 dependency(如果该分支不存在,GitHub 将创建它;名字随意更改,不要重名哦)
<plugin>
<groupId>com.github.github</groupId>
<artifactId>site-maven-plugin</artifactId>
<version>0.12</version>
<configuration>
<!-- Github settings -->
<!--<server>github</server>-->
<repositoryName>maven-repo(GitHub项目名称)</repositoryName>
<repositoryOwner>GitHub登陆名</repositoryOwner>
<!--dependency分支-->
<branch>refs/heads/dependency</branch>
<message>Artifacts for ${project.name}/${project.artifactId}/${project.version}</message>
<noJekyll>true</noJekyll>
<!-- Deployment values -->
<outputDirectory>${project.build.directory}/myJar</outputDirectory>
<includes>
<include>**/*</include>
</includes>
</configuration>
<executions>
<execution>
<phase>deploy</phase>
<goals>
<goal>site</goal>
</goals>
</execution>
</executions>
</plugin>
4.执行部署命令
mvn clean deploy
5. 执行可能遇到的问题
5.1.[ERROR] Failed to execute goal com.github.github:site-maven-plugin:0.12:site (de fault) on project maven-sampler: Error creating blob: Git Repository is empty. ( 409) -> [Help 1]
- 解决方法:在github上创建的仓库里创建README.md文件。
5.2 [ERROR] Failed to execute goal com.github.github:site-maven-plugin:0.11:site (default) on project alta-maven-plugin: Error creating commit: Invalid request.
[ERROR]
[ERROR] nil is not a string.
[ERROR] nil is not a string. (422)
[ERROR] -> [Help 1]
- 解决的方法:在github的个人设置中,设置好自己的姓名 。这个环节很重要,若不设置姓名,会出现一些一些意想不到的错误
5.3 [ERROR] Failed to execute goal com.github.github:site-maven-plugin:0.12:site (default) on project parent: Error retrieving user info: Not Found (404) -> [Help 1]
- 解决的方法:使用jdk1.8 或修改jdk1.7的协议版本为高版本(这个问题我实现时没有遇到,不过看原文提到,所以摘过来给大家参考)
二、使用GitHub仓库中的jar包
2.1、在需要依赖的工程的pom.xml中配置仓库
<repositories>
<repository>
<id>maven-repo-github</id>
<!-- /用户名/仓库名/分支名/-->
<url>https://github.com/自己GitHub的用户名/maven-repo(itHub项目名称)/dependency(GitHub存储库名称)/</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
2.2、添加依赖
<dependency>
<groupId>com.xxx</groupId>
<artifactId>包名</artifactId>
<version>版本号</version>
</dependency>