我需要使用 Eclipse 运行时配置 ( ILaunchConfiguration
) 启动 Java 程序。但是,我想提供程序作为.jar
文件(作为插件的一部分)运行,而不是作为 Eclipse 项目。
似乎为了从 Eclipse 运行时配置启动 Java 程序,我需要指定一个项目(和主类)。
如何使用配置框架启动任意.jar
文件?
我需要使用 Eclipse 运行时配置 ( ILaunchConfiguration
) 启动 Java 程序。但是,我想提供程序作为.jar
文件(作为插件的一部分)运行,而不是作为 Eclipse 项目。
似乎为了从 Eclipse 运行时配置启动 Java 程序,我需要指定一个项目(和主类)。
如何使用配置框架启动任意.jar
文件?
这篇文章有帮助:
http://eclipse.org/articles/Article-Java-launch/launching-java.html
我使用以下代码运行.jar
插件lib
目录中的文件:
IPath path = new Path("lib" + File.separator + "some.jar");
Bundle bundle = Platform.getBundle(IDs.PLUGIN_ID);
URL url = FileLocator.find(bundle, path, null);
URI uri = FileLocator.resolve(url).toURI();
File file = URIUtil.toFile(uri);
IPath resolvedPath = new Path(file.toString());
IRuntimeClasspathEntry jar = JavaRuntime.newArchiveRuntimeClasspathEntry(resolvedPath);
IPath systemLibsPath = new Path(JavaRuntime.JRE_CONTAINER);
IRuntimeClasspathEntry systemLibsEntry =
JavaRuntime.newRuntimeContainerClasspathEntry(systemLibsPath, IRuntimeClasspathEntry.STANDARD_CLASSES);
List<String> classpath = new LinkedList<>();
classpath.add(aproveJar.getMemento());
classpath.add(systemLibsEntry.getMemento());
configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, classpath);
configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, false);