Andy
Andy

Reputation: 1484

How to convert Eclipse RCP plugin JAR to a plugin directory and vice versa?

What I have is an RCP application, and a plugin directory in it:

my-rcp-app/
  ...
  plugins/
    ...
    com.mycompany.myproduct.ui_1.0.1/
      com/
      META-INF/
      plugin.xml

Then I make a JAR with the same contents as the plugin directory, com.mycompany.myproduct.ui_1.0.1.jar, and put it into plugins/ instead of a com.mycompany.myproduct.ui_1.0.1 folder.

Surprisingly, the app doesn't start. That's from the logs:

 !SUBENTRY 2 com.mycompany.root.bundle 2 0 2012-07-05 20:01:17.511
 !MESSAGE Missing required bundle com.mycompany.myproduct.ui_1.0.1.

So, 2 questions here:

  1. How to deploy a plugin in a JAR, if I've got a directory with classes, configs etc.
  2. Is it enough to unpack a JAR into plugins, for the app to keep working?

Upvotes: 0

Views: 1096

Answers (2)

Andy
Andy

Reputation: 1484

As @TobiasWillig already noted, plug-in directories and JARs are indeed fully interchangeable.

But in this specific case I had to edit configuration/org.eclipse.equinox.simpleconfigurator/bundles.info file, replacing

com.mycompany.myproduct.ui,1.0.1,plugins/com.mycompany.myproduct.ui_1.0.1/,4,false

with the

com.mycompany.myproduct.ui,1.0.1,plugins/com.mycompany.myproduct.ui_1.0.1.jar,4,false

I.e., it's required to manually specify a path to the plug-in.

Upvotes: 1

Tobias Willig
Tobias Willig

Reputation: 1144

  1. From the main page of the Manifest Editor you can open an export wizard. It will create a jar file containing your plug-in. If you want to specify which files should be exported, then go to the build tab in the Manifest Editor.

  2. It should not matter if your plug-in is unpacked or in a Jar File. Equinox is able to handle both cases. Note that is recommended to use the dropins folder instead of the plugins folder, if you don't want to manage plug-ins via the Eclipse Update Site mechanism.

Upvotes: 3

Related Questions