JDT without Eclipse?
Asked Answered
P

3

12

Some time ago I wrote an Eclipse plugin which makes use of JDT to do some parsing. Now I am thinking of making a command-line version of this app. Naturally, I hope to reuse the parsing code, so I need to get JDT to work outside Eclipse. Is there any way I can accomplish this (maybe build some wrappers, etc)? Are there any ports of the JDT library that provide the same API / functionality but work independently of Eclipse?

Any help will be greatly appreciated. Thanks.

Providenciaprovident answered 21/1, 2010 at 23:40 Comment(2)
I am parsing source code to get its structure (Abstract Syntax Tree). This link shows precisely what I am talking about (vogella.de/articles/EclipseJDT/article.html). Something like Antlr, etc, except that I already wrote the code with JDT, and I want to reuse it instead of rewriting with Antlr. Sorry I think I didnt make it clearProvidenciaprovident
hi @alexloh, did you get a solution for this? it would be great if you can explain how you accomplished this with some extra information?Snath
C
4

The JDT is divided into two distinct parts. The parsing parts should all be in plugins which have no UI-dependencies at all. I think they do have a dependency on the Eclipse runtime, which means that you more or less need to create a "headless RCP application".

Consonance answered 23/1, 2010 at 9:41 Comment(1)
Hmm I can't give "Accepted answer" to both :( Both this post and the one below are useful, and searching for "headless RCP application" put me on what seems to be the right track. Thanks!Providenciaprovident
T
4

You can use JDT Core in the command line. Parsing, AST, rewriting everything can be done without the UI.

There answered 22/1, 2010 at 4:15 Comment(1)
You need to dig into the docs and classes to find out the right calls. Eg: help.eclipse.org/kepler/…There
C
4

The JDT is divided into two distinct parts. The parsing parts should all be in plugins which have no UI-dependencies at all. I think they do have a dependency on the Eclipse runtime, which means that you more or less need to create a "headless RCP application".

Consonance answered 23/1, 2010 at 9:41 Comment(1)
Hmm I can't give "Accepted answer" to both :( Both this post and the one below are useful, and searching for "headless RCP application" put me on what seems to be the right track. Thanks!Providenciaprovident
S
2

In order to be able to use AST classes in a stand alone application you have to use such libraries (where xx stands for version):

org.eclipse.core.contenttype_xx.jar
org.eclipse.core.jobs_xx.jar
org.eclipse.core.resources_xx.jar
org.eclipse.core.runtime_xx.jar
org.eclipse.equinox.common_xx.jar
org.eclipse.equinox.preferences_xx.jar
org.eclipse.jdt.core_xx.jar
org.eclipse.osgi_xx.jar

If you installed eclipse with JDT all those jars are in eclipse's plugin folder for example in Windows it could be in C:\Program Files\eclipse\plugins\

Sidecar answered 5/3, 2014 at 22:54 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.