有没有办法从Java代码中检出Bitbucker服务器(存储)中的代码

时间:2017-09-11 08:02:35

标签: java bitbucket vcs-checkout

我们在BitBucket中维护一些JavaScript代码。我们希望能够从Bitbucket中检出JavaScript代码,并能够访问Java应用程序中的.js文件。

有没有办法使用Java签出代码。是否有一些图书馆可供我们使用。

例如,当我想从git客户端检出git存储库时,我会执行命令git clone https://bitbucketserverhost/PROJECT/repo.git 这将在当前目录中创建一个具有repo名称的文件夹,并检出该文件夹中的所有源文件。

有没有办法在Java中进行git clone。基本上我希望Java代码读取Bitbucket中开发人员提交的最新JavaScript文件,将其作为文件访问以便能够读取其内容,然后将其与其他文件进行比较。

1 个答案:

答案 0 :(得分:0)

我最终使用Eclipse的jGit库来检查Java中BitBucket的代码。 添加了以下maven依赖项。

<dependency>
    <groupId>org.eclipse.jgit</groupId>
    <artifactId>org.eclipse.jgit</artifactId>
    <version>4.8.0.201706111038-r</version>
</dependency>   

下面的代码行可用于代码,可用于创建克隆。

import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.api.CloneCommand;
import org.eclipse.jgit.api.errors.GitAPIException;
import java.io.File;

class Test {
    public static void main(String[] args){
        CloneCommand clone = Git.cloneRepository().setURI(uri).setDirectory(new File(checkoutDir));
        try {
            clone.call();
        } 
        catch (GitAPIException e) {
            System.err.println(e.getMessage());
            e.printStackTrace(System.err);
        }
    }
}

其中uri是我们在git clone命令中使用的存储库的git URI。 值得注意的是,我没有在代码中的任何位置指定我的凭据,因为存储库是公共的。如果您尝试克隆的仓库不是公开的,则需要添加更多代码。