1
我需要使用Eclipse運行時配置(ILaunchConfiguration
)啓動Java程序。但是,我想提供程序作爲.jar
文件(作爲插件的一部分)運行,而不是作爲Eclipse項目運行。使用Eclipse運行時配置啓動jar文件
似乎爲了從Eclipse運行時配置啓動Java程序我需要指定一個項目(和主類)。
如何使用配置框架啓動任意.jar
文件?
我需要使用Eclipse運行時配置(ILaunchConfiguration
)啓動Java程序。但是,我想提供程序作爲.jar
文件(作爲插件的一部分)運行,而不是作爲Eclipse項目運行。使用Eclipse運行時配置啓動jar文件
似乎爲了從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);
,你能否證實,如果我理解正確的話您的問題。你需要的是能夠使用Eclipse JDT啓動和調試'jar'文件,但是你沒有在該jar文件的工作區中有任何eclipse項目。正確? –
正確。我的答案通過指定JAR文件的類路徑解決了這個問題(因此不需要項目)。 –