首先,要清楚什么时候才有工程给你获得它的名字。
如果我们开始的是一个RCP,那么,这个RCP本身就是脱离了Eclipse的EXE软件,因而对于它来说,获得工程句柄是没有任何意义的。
而一个Eclipse工程,必定是存在于一个Eclipse中,而且是一个打开了的Eclipse中。从这个角度上看,获取工程名字才有意义。那么,是由谁来获得呢,你们应该也猜到了吧,就是插件。
比如我们在Eclipse中新建了两个工程,那么如何获得它的句柄与名字呢?
这里直接给出代码了:
1 IProject projectHandle[] = ResourcesPlugin.getWorkspace().getRoot().getProjects();
2 System.out.println( " 发现有 " + projectHandle.length + " 个工程 " );
3 System.out.println( " 工程名字有: " + projectHandle[ 1 ].getName());
这些代码放在插件中。
如果我们在Runtime Application中新建有一个工程的话,那么这里它会发现有两个(为什么?其中有一个叫做RemoteSystemsTempFiles的工程,干什么的?我也不清楚。)
需要格外注意的一点是,如果你运行的时候发现java.lang.NoClassDefFoundError错误的话,请在Dependenies中加入org.eclipse.core.resources这个包!(这个真的害死我了啊,新手常常会走这样的弯路。)