在Eclipse中从本地导入git项目的Java代码

时间:2017-09-10 16:37:54

标签: java eclipse git eclipse-plugin egit

我们按照以下步骤在Eclipse中导入Local Git项目:

档案 - > 导入 - > Git - > 来自Git的项目> 现有本地存储库

我们如何使用Java程序实现相同的目标?

我使用org.eclipse.core.resources通过提供.project文件的路径来导入项目,但它没有提供Git连接。

IWorkspace workspace = ResourcesPlugin.getWorkspace();
IWorkspaceRoot root = workspace.getRoot();
IProject project = root.getProject("myProject/.project"); // path to .project file
project.create(new NullProgressMonitor());
project.open(null);

我也经历了JGit Docs,但未找到任何解决方案

1 个答案:

答案 0 :(得分:1)

为了将项目加载到Eclipse工作区,您需要首先加载项目描述(存储在.project文件中)。拥有IProjectDescription实例后,您可以使用它来创建它,即让Eclipse工作区知道它。

例如:

IProjectDescription description = workspace.loadProjectDescription( "path/to/.project" );
IProject project = workspace.getRoot().getProject( description.getName() );
project.create( description, new NullProgressMonitor() );
project.open( new NullProgressMonitor() );

要检查工作区是否已知过同名项目,请使用以下代码:

workspace.getRoot().getProject( description.getName() );

如果Egit尚不知道要导入项目所属的存储库,则需要先注册存储库:

RepositoryUtil.addConfiguredRepository( new File( "path/to/.git-dir" ) );

然后您可以使用Egit的ConnectProviderOperation将工作区项目标记为已注册存储库的一部分:

IEGitOperation operation = new ConnectProviderOperation( project, "path/to/.git-dir" );
operation.execute( new NullProgressMonitor() );

此处讨论的所有Egit类型都可以在org.eclipse.egit.core插件中找到。