通过gitee搭建maven的private repository

gitee地址:https://gitee.com/

  1. 在gitee上新建仓库repository

  1. 在本地磁盘建立私有仓库目录,并在工程配置私有仓库位置

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部署到本地库中

  1. 将私有库推送到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服务的测试...");
    }
}
  1. 调用私有库的实现类方法测试

引入私有库中的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>
posted @ 2025-06-13 14:07  ikyoxue  阅读(80)  评论(0)    收藏  举报