通过gitee搭建maven的private repository
gitee地址:https://gitee.com/
- 在gitee上新建仓库repository



- 在本地磁盘建立私有仓库目录,并在工程配置私有仓库位置
![]()
DevPrivateLibs 专门存放各个工程deploy jar库
atp-api 当前工程deploy到该目录,其它的工程在DevPrivateLibs下新建对应工程名的文件夹,对应deploy到该文件夹下
atp-api工程的pom中需要配置如下:
点击查看代码
<properties>
<!-- 私有仓库的具体location -->
<private.repository>D:/Develop/DevPrivateLibs</private.repository>
</properties>
<distributionManagement>
<repository>
<id>gitee</id>
<!-- 通过maven deploy后,会将工程jar发布到atp-api目录下 -->
<url>file:${private.repository}/atp-api</url>
</repository>
</distributionManagement>
通过maven插件的deploy命令将当前工程jar部署到本地库中


- 将私有库推送到gitee
在..\DevPrivateLibs\atp-api文件夹下,右键选择git bush here
git init
git remote add origin https://gitee.com/你的gitee用户名/atp-api.git 关联前需要初始化当前目录(将当前私有的目录与gitee上创建的仓库关联)
git add .
git commit -m "提交备注" 先add,commit,再pull push
git pull --rebase origin master push前需要pull一把
git push -u origin master 注意master是主或分支的名字
注意:如果私有库代码有变动,则重新推一次
在..\DevPrivateLibs\atp-api文件夹下,右键选择git bush here
git add .
git commit -m "提交备注" 先add,commit,再pull push
git pull --rebase origin master push前需要pull一把
git push -u origin master 注意master是主或分支的名字
4.** 配置atp-api的pom文件以及简单的接口实现类**
pom.xml代码如下:
点击查看代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.kyox</groupId>
<artifactId>atp-api</artifactId>
<version>1.0-SNAPSHOT</version>
<name>atp-api</name>
<description>公共api库(devp by kyoxue)</description>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<java.version>1.8</java.version>
<!-- 私有仓库的具体location -->
<private.repository>D:/Develop/DevPrivateLibs</private.repository>
</properties>
<dependencies>
<!-- 用来使用spring的注解,比如service等 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.1.7.RELEASE</version>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>gitee</id>
<!-- 通过maven deploy后,会将工程jar发布到atp-api目录下 -->
<url>file:${private.repository}/atp-api</url>
</repository>
</distributionManagement>
<build>
<finalName>atp-api</finalName>
<plugins>
<!--deploy plugin-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- src code plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.3.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

接实现类,样例如下:
点击查看代码
@Service
public class ServiceImpl implements TestService {
@Override
public void print() throws Exception {
System.out.println("这是来自atp-api服务的测试...");
}
}
- 调用私有库的实现类方法测试
引入私有库中的atp-api依赖
<dependency>
<groupId>com.kyox</groupId>
<artifactId>atp-api</artifactId>
<version>1.0-SNAPSHOT<version>
</dependency>
如果是父pom中配置:
<properties><atp.api.version>1.0-SNAPSHOT</atp.api.version></properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.kyox</groupId>
<artifactId>atp-api</artifactId>
<version>${atp.api.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.kyox</groupId>
<artifactId>atp-api</artifactId>
</dependency>
</dependencies>
<!--
最重要的一步,设置私有云地址
如果是在gitee中创建的私库,则需要在setting.xml中server配置户名密码,其id标签与这里的id标签一致
-->
<repositories>
<repository>
<id>gitee</id> <!-- 自定义设置名称与setting.xml中server配置用户名密码的id标签值对应 -->
<url>https://gitee.com/你的gitee库用户名/atp-api/raw/master</url> <!--https://gitee.com/{用户名}/{仓库名}/raw/{分支名}-->
</repository>
</repositories>
测试调用引入的私有库的类方法
点击查看代码
@Slf4j
public class ServiceTest extends CommTest {
@Autowired
private TestService testService;
@Test
public void test()throws Exception{
testService.print();
}
}

-- cn: 每次代码变动,重新deploy后,还得去库文件夹,重新add commit pull push..
--如果gitee创建的是私库,maven的setting.xml配置文件中,配置对应私库的用户密码,不然工程依赖不上,配置如下:
点击查看代码
<server>
<id>这个id和你工程<repository>连接的id一致</id>
<username>gitee登陆账号</username>
<password>gitee登陆密码</password>
</server>
</servers>


浙公网安备 33010602011771号