栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

通过命令行自动将Java(Android)项目导入Eclipse工作区

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过命令行自动将Java(Android)项目导入Eclipse工作区

不幸的是,JDT发行版没有任何支持 -import
参数的应用程序,例如CDT的

org.eclipse.cdt.managedbuilder.core.headlessbuild
。但是您可以轻松编写一个简单的代码:

package test.myapp;import java.util.linkedList;import java.util.List;import org.eclipse.core.resources.IProject;import org.eclipse.core.resources.IProjectDescription;import org.eclipse.core.resources.IncrementalProjectBuilder;import org.eclipse.core.resources.ResourcesPlugin;import org.eclipse.core.runtime.NullProgressMonitor;import org.eclipse.core.runtime.Path;import org.eclipse.equinox.app.IApplication;import org.eclipse.equinox.app.IApplicationContext;public class Application implements IApplication {    public Object start(IApplicationContext context) throws Exception {        String[] args = (String[]) context.getArguments().get(IApplicationContext.APPLICATION_ARGS);        boolean build = false;        // Determine projects to import        List<String> projects = new linkedList<String>();        for (int i = 0; i < args.length; ++i) { if ("-import".equals(args[i]) && i + 1 < args.length) {     projects.add(args[++i]); } else if ("-build".equals(args[i])) {     build = true; }        }        if (projects.size() == 0) { System.out.println("No projects to import!");        } else { for (String projectPath : projects) {     System.out.println("importing project from: " + projectPath);     // import project description:     IProjectDescription description = ResourcesPlugin.getWorkspace().loadProjectDescription(  new Path(projectPath).append(".project"));     IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(description.getName());     project.create(description, null);     project.open(null); } // Build all projects after importing if (build) {     System.out.println("Re-building workspace");     ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());     ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, new NullProgressMonitor()); }        }        return null;    }    public void stop() {    }}

您的plugin.xml应包含以下内容:

<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.4"?><plugin>   <extension         id="App"         point="org.eclipse.core.runtime.applications">      <application cardinality="singleton-global" thread="main" visible="true">         <run    >         </run>      </application>   </extension></plugin>

创建并将插件导出为“ test.myapp_1.0.0.jar”。然后,您可以按以下方式使用它:

  1. 将test.myapp_1.0.0.jar复制到您的Eclipse / dropins /文件夹中
  2. 将所有需要的插件复制到目标工作空间目录:

cp -r项目/ * NewWorkspace /

  1. 将所需的项目导入工作空间:

蚀-nosplash-应用程序test.myapp.App-数据NewWorkspace-导入/ path / to / NewWorkspace /
project1-导入/ path / to / NewWorkspace / project2等…

  1. 现在,您可以安全地从Eclipse / dropins /文件夹中删除test.myapp_1.0.0.jar。

我已经上传了所有代码,包括此处导出的插件:https :
//github.com/spektom/eclipse-import



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/438194.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号