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

Is there a way to checkout code from Bitbucker server (stash) from within Java code

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

有没有办法使用 Java 检出代码。是否有一些图书馆可以为我们做这件事。

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

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

我最终使用 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 克隆命令中使用的存储库的 git URI。 重要的是要注意我没有在代码中的任何地方指定我的凭据,因为存储库是 public。如果您尝试克隆的存储库不是 public,您需要添加更多代码。