博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Eclipse插件开发-不使用对话框,使用代码方式生成bundle jar
阅读量:6257 次
发布时间:2019-06-22

本文共 1892 字,大约阅读时间需要 6 分钟。

hot3.png

private void genJar(String addProjectName){		//转project		IProject project = getProject(addProjectName);		PluginModelManager pmm = PDECore.getDefault().getModelManager();		IPluginModelBase thePluginModel= pmm.findModel(project);		IPluginModel pluginModel = (IPluginModel) thePluginModel;		BundlePluginModel bpm = (BundlePluginModel) pluginModel;				final FeatureExportInfo info = new FeatureExportInfo();		info.toDirectory = true; //true		info.useJarFormat = true; // true		info.allowBinaryCycles = true; //true		info.useWorkspaceCompiledClasses = false; //false		info.destinationDirectory = "C:\\Users\\~~\\Desktop"; //C:\Users\liuyi\Desktop		Object [] pmObj = new Object[1];		pmObj[0] = bpm;		info.items = pmObj;				final PluginExportOperation job = new PluginExportOperation(info, PDEUIMessages.PluginExportJob_name);		job.setUser(true);		job.setRule(ResourcesPlugin.getWorkspace().getRoot());		job.setProperty(IProgressConstants.ICON_PROPERTY, PDEPluginImages.DESC_PLUGIN_OBJ);		job.addJobChangeListener(new JobChangeAdapter() {			public void done(IJobChangeEvent event) {				if (job.hasAntErrors()) {					final File logLocation = new File(info.destinationDirectory, "logs.zip"); //$NON-NLS-1$					if (logLocation.exists()) {						PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {							public void run() {//								AntErrorDialog dialog = new AntErrorDialog(logLocation);//								dialog.open();								System.out.println();							}						});					}				}//				else if (event.getResult().isOK() && installAfterExport) {//					RuntimeInstallJob installJob = new RuntimeInstallJob(PDEUIMessages.PluginExportWizard_InstallJobName, info);//					installJob.setUser(true);//					installJob.setProperty(IProgressConstants.ICON_PROPERTY, PDEPluginImages.DESC_FEATURE_OBJ);//					installJob.schedule();//				}			}		});		job.schedule();	}

转载于:https://my.oschina.net/liuyi126/blog/157487

你可能感兴趣的文章
【Spring Boot && Spring Cloud系列】那些Spring Boot中踩过的坑
查看>>
对XX系统的可用性和易用性改良
查看>>
大数据如何解决人工智能对文本挖掘的挑战
查看>>
updatepanel的属性
查看>>
.net 客户端调用java或.net webservice进行soapheader验证
查看>>
RadViz可视化方法--javascript实现
查看>>
软件工程综合实践的第二次实验报告
查看>>
Git储藏与恢复
查看>>
Lua 打印Table
查看>>
性能分析
查看>>
自定义php-mysqli工具增强类,支持链式调用
查看>>
SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础
查看>>
linux常用命令总结-updating
查看>>
SQL事务回滚样例
查看>>
AndFix注意事项
查看>>
Servlet、Filter、Listener、Interceptor
查看>>
SpringMVC源码分析系列
查看>>
SnakeWords开发--Android 2.2
查看>>
zookeeper的python客户端安装
查看>>
LINUX 下Open cv练习使用小记(2)
查看>>