Java 在Eclipse中以Equinox开始Eclipse
我试图以编程方式在另一个Eclipse中启动Eclipse,并使用config.ini文件中的Java 在Eclipse中以Equinox开始Eclipse,java,eclipse,osgi,eclipse-rcp,equinox,Java,Eclipse,Osgi,Eclipse Rcp,Equinox,我试图以编程方式在另一个Eclipse中启动Eclipse,并使用config.ini文件中的osgi.bundles=…-参数将插件设置为加载 我试图用EclipseStarter类启动第二个eclipse实例,但出现以下异常: EclipseStarter.setInitialProperties(props); BundleContext context = EclipseStarter.startup(new String[] {}, null); java.lang.IllegalS
osgi.bundles=…
-参数将插件设置为加载
我试图用EclipseStarter类启动第二个eclipse实例,但出现以下异常:
EclipseStarter.setInitialProperties(props);
BundleContext context = EclipseStarter.startup(new String[] {}, null);
java.lang.IllegalStateException:平台已在运行
我还尝试启动一个新的Equinox实例:
FrameworkFactory factory = new EquinoxFactory();
Framework newFramework = factory.newFramework(props);
newFramework.start();
但那时什么也不会开始。
这个问题有什么解决办法吗
提前谢谢 您不能在同一JVM中运行另一个Eclipse,您必须创建一个新的JVM并指定一个不同的工作区。第二个实例的工作区在props中通过
-data/osgi.instance.area
指定。因此,启动第二个实例的唯一方法是使用java-jar org.eclipse.equinox.launcher\u xxx.jar
?或者所有ILaunchConfiguration
支持来启动它,这是非常灵活但复杂的。