Eclipse 是否可以创建命令行JDT应用程序?
我想创建一个命令行应用程序来分析Java代码。EclipseJDT似乎是这项工作的合适工具,但是我在JDT上找到的每个教程都将JDT作为Eclipse插件启动 我希望这样:Eclipse 是否可以创建命令行JDT应用程序?,eclipse,command-line,eclipse-pdt,Eclipse,Command Line,Eclipse Pdt,我想创建一个命令行应用程序来分析Java代码。EclipseJDT似乎是这项工作的合适工具,但是我在JDT上找到的每个教程都将JDT作为Eclipse插件启动 我希望这样: public static void main(String[] args) throws Exception { IWorkspace workspace = ResourcesPlugin.getWorkspace(); ... } <?xml version="1.0" encoding="UT
public static void main(String[] args) throws Exception {
IWorkspace workspace = ResourcesPlugin.getWorkspace();
...
}
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
id="id2"
point="org.eclipse.core.runtime.applications">
<application
cardinality="singleton-global"
thread="main"
visible="true">
<run class="testapplication.Application1">
</run>
</application>
</extension>
</plugin>
开始吧。但是,getWorkspace()会引发一个异常,即服务未启动。您希望确保首先启动了Eclipse。使用EclipseStarter类运行,然后您可以使用ResourcesPlugin上的方法。如果您想利用JDT,您必须启动eclipse。您可以使用扩展点“org.eclipse.core.runtime.applications”来创建从命令行开始的最小应用程序
public static void main(String[] args) throws Exception {
IWorkspace workspace = ResourcesPlugin.getWorkspace();
...
}
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
id="id2"
point="org.eclipse.core.runtime.applications">
<application
cardinality="singleton-global"
thread="main"
visible="true">
<run class="testapplication.Application1">
</run>
</application>
</extension>
</plugin>
Application1.java:
package testapplication;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
public class Application1 implements IApplication {
@Override
public Object start(IApplicationContext context) throws Exception {
System.out.println("Hello eclipse at "
+ ResourcesPlugin.getWorkspace().getRoot().getRawLocation());
return IApplication.EXIT_OK;
}
@Override
public void stop() {
// nothing to do at the moment
}
}
输出为:
Hello eclipse位于D:/Arne/workspace/runtime-TestApplication.id2
我在这里问了一个类似(不太类似)的问题(),这可能是我感兴趣的。我找到了EclipseStarter类,但是如何插入它?必须定义一个Eclipse应用程序才能运行,它将运行该应用程序。您需要将org.eclipse.osgi插件放在类路径中。您的应用程序将实现IAApplication,它基本上有start()和stop()。从start()方法的内部,您可以开始您的工作。谢谢Arne!工作得很有魅力。显示这些文件对Eclipse/OSGi的新手尤其有用。我本来打算牺牲我的邻居,但我得留到事情真的变得糟糕的时候。。。