1

Java コードの分析を行うコマンド ライン アプリケーションを作成したいと考えています。Eclipse JDT はこの仕事に適したツールのようですが、JDT で見つけることができるすべてのチュートリアルでは、JDT を Eclipse プラグインとして起動します。

私は次のようなものを期待します:

public static void main(String[] args) throws Exception {
    IWorkspace workspace = ResourcesPlugin.getWorkspace();
    ...
}

始めます。ただし、 getWorkspace() は、サービスが開始されていないという例外をスローします。

4

2 に答える 2

2

JDT を活用したい場合は、Eclipse を開始する必要があります。拡張ポイント「org.eclipse.core.runtime.applications」を使用して、コマンド ラインから開始する最小限のアプリケーションを作成できます。

  1. 新しいプラグイン プロジェクトを作成します。
  2. 依存関係に「org.eclipse.core.runtime」と「org.eclipse.core.resources」を追加します。
  3. 「org.eclipse.core.runtime.applications」の拡張機能を作成します。
  4. 「org.eclipse.equinox.app.IApplication」を実装するクラスを作成し、拡張機能で参照します。

私の plugin.xml は次のようになります。

<?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>

マニフェスト.MF:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: TestApplication
Bundle-SymbolicName: TestApplication;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: testapplication.Activator
Require-Bundle: org.eclipse.core.runtime,
 org.eclipse.core.resources
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

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
    }

}

出力は次のとおりです。

D:/Arne/workspaces/runtime-TestApplication.id2 のハロー Eclipse

于 2009-12-14T16:02:21.890 に答える
0

最初に Eclipse を開始したことを確認する必要があります。EclipseStarter クラスを使用して物事を実行すると、ResourcesPlugin のメソッドを使用できます。

于 2009-12-13T23:02:16.917 に答える