Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Rich Client Platform (RCP) » Product export not exporting external referenced libraries
Product export not exporting external referenced libraries [message #955012] Tue, 23 October 2012 12:36 Go to next message
Conor Missing name is currently offline Conor Missing nameFriend
Messages: 159
Registered: July 2009
Senior Member
Hi all,

I have imported a several jars into my GMF project which is made up 3 project files: my_project, my_project.diagram and my_project.edit. The RCP product file and Application is based on my_project.diagram so everything below ids based in this file.

Jars were put into <my_project.diagra>/resources folder - to allow my code to import the different components I added the jars to the project build path and they appeared in Referenced Libraries - they were also no longer visible in the resources folder but the RCP Application runs as expected from Eclipse PLatform.

Initially exporting the product using the Eclipse Product export wizard seemed to work but when I tried to run anything that used the extra jars they didn't work. Checking the product file configuration I realised the jars were not being included in the working set and could not be added here.

Some more checking and I added the jars to the MANIFEST.MF: 1) under the Build tab so they appeared in the upper left window and 2) in the Runtime tab so they appeared in the Classpath - bottom right window.

I ran the product export again but got an error, something along the lines of 'Build entries must contain at least one entry' (making progress, at least the wizard was trying to add the jars) - I realised that each jar added to the MANIFEST.MF>Build tab needed to be associated with the resources folder.

Tried product wizard again and 'Building Plug-ins' starts... but it fails - in the logs I get errors for the jars - for example:

469. ERROR in C:\EclipseGM2.0\Project\my_project.diagram\src\my_project\diagram\popup\actions\Interface.java (at line 5)
import org.apache.wink.client.RestClient;
^^^^^^^^^^^^^^^
The import org.apache.wink cannot be resolved


Is this to do with the jars not appearing in the folder after being added to the build path? (I tried temporarily removing the jars from build path and doing the build again but it didn't work) - they still appear in the 'physical' folder when I check - do I need to include them somewhere else?

Also tried to put jar packages into MANIFEST.MF>Dependencies>Imported Packages but got error 'No Available bundle export package' for every entry.


UPDATE:
So in the Build Tab there's a 'Extra Classpath Entries' which I didn't see before - I've added the jars from the resources folder - the product wizard at least now completes without errors BUT any functionality that uses these jars still doesn't work. Feel I'm another step closer but still no cigar. File below has been updated.

The jar files should appear somewhere in the produced product file structure?


build.properties:

bin.includes = .,\
icons/,\
META-INF/,\
plugin.xml,\
plugin.properties,\
messages.properties,\
.options,\
resources/commons-codec-1.4.jar,\
resources/jdom.jar,\
resources/jsr311-api-1.1.1.jar,\
resources/saxon9he.jar,\
resources/slf4j-api-1.6.1.jar,\
resources/slf4j-simple-1.6.1.jar,\
resources/wink-1.1.3-incubating.jar,\
resources/wink-client-1.1.3-incubating.jar,\
resources/wink-client-apache-httpclient-1.1.3-incubating.jar,\
resources/wink-common-1.1.3-incubating.jar,\
resources/wink-server-1.1.3-incubating.jar
jars.compile.order = .,\
resources/commons-codec-1.4.jar,\
resources/jdom.jar,\
resources/jsr311-api-1.1.1.jar,\
resources/saxon9he.jar,\
resources/slf4j-api-1.6.1.jar,\
resources/slf4j-simple-1.6.1.jar,\
resources/wink-1.1.3-incubating.jar,\
resources/wink-client-1.1.3-incubating.jar,\
resources/wink-client-apache-httpclient-1.1.3-incubating.jar,\
resources/wink-common-1.1.3-incubating.jar,\
resources/wink-server-1.1.3-incubating.jar
source.. = src/
output.. = bin/
source.resources/commons-codec-1.4.jar = resources/
source.resources/jdom.jar = resources/
source.resources/jsr311-api-1.1.1.jar = resources/
source.resources/saxon9he.jar = resources/
source.resources/slf4j-api-1.6.1.jar = resources/
source.resources/slf4j-simple-1.6.1.jar = resources/
source.resources/wink-1.1.3-incubating.jar = resources/
source.resources/wink-client-1.1.3-incubating.jar = resources/
source.resources/wink-client-apache-httpclient-1.1.3-incubating.jar = resources/
source.resources/wink-common-1.1.3-incubating.jar = resources/
source.resources/wink-server-1.1.3-incubating.jar = resources/
jars.extra.classpath = resources/commons-codec-1.4.jar,\
resources/jdom.jar,\
resources/jsr311-api-1.1.1.jar,\
resources/saxon9he.jar,\
resources/slf4j-api-1.6.1.jar,\
resources/slf4j-simple-1.6.1.jar,\
resources/wink-1.1.3-incubating.jar,\
resources/wink-client-1.1.3-incubating.jar,\
resources/wink-client-apache-httpclient-1.1.3-incubating.jar,\
resources/wink-common-1.1.3-incubating.jar,\
resources/wink-server-1.1.3-incubating.jar



MANEFST.MF:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: my_project; singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: .,
resources/commons-codec-1.4.jar,
resources/jdom.jar,
resources/jsr311-api-1.1.1.jar,
resources/saxon9he.jar,
resources/slf4j-api-1.6.1.jar,
resources/slf4j-simple-1.6.1.jar,
resources/wink-1.1.3-incubating.jar,
resources/wink-client-1.1.3-incubating.jar,
resources/wink-client-apache-httpclient-1.1.3-incubating.jar,
resources/wink-common-1.1.3-incubating.jar,
resources/wink-server-1.1.3-incubating.jar
Bundle-Activator: com.etu.gaff.aspirewriter.diagram.part.AspirewriterDiagramEditorPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Export-Package: com.etu.gaff.aspirewriter.diagram.edit.parts,
com.etu.gaff.aspirewriter.diagram.part,
com.etu.gaff.aspirewriter.diagram.providers
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.jface,
org.eclipse.ui.views,
org.eclipse.emf.ecore,
org.eclipse.emf.ecore.xmi,
org.eclipse.emf.edit.ui,
org.eclipse.gmf.runtime.emf.core,
org.eclipse.gmf.runtime.emf.commands.core,
org.eclipse.gmf.runtime.emf.ui.properties,
org.eclipse.gmf.runtime.diagram.ui,
org.eclipse.gmf.runtime.diagram.ui.properties,
org.eclipse.gmf.runtime.diagram.ui.providers,
org.eclipse.gmf.runtime.diagram.ui.render,
org.eclipse.gmf.runtime.diagram.ui.resources.editor,
com.etu.gaff.aspirewriter;visibility:=reexport,
com.etu.gaff.aspirewriter.edit;visibility:=reexport,
org.eclipse.gef;visibility:=reexport,
org.eclipse.draw2d;visibility:=reexport
Eclipse-LazyStart: true

[Updated on: Tue, 23 October 2012 14:08]

Report message to a moderator

Re: Product export not exporting external referenced libraries [message #964098 is a reply to message #955012] Tue, 30 October 2012 08:56 Go to previous message
Xiuang Lee is currently offline Xiuang LeeFriend
Messages: 9
Registered: October 2012
Junior Member
I use this approach to add jars to my RCP projects in Eclipse IDE:

1. Go to MANIFEST.MF -> Runtime tab -> Classpath section
2. Add your resources there (check "Update build path"). This operation will add something like this in manifetst file:

...
Bundle-ClassPath: .,
lib/somejar.jar,
lib/someotherjar.jar
...

3. Maybe you'll need some additional configuration to put jars in binary build: go to Build tab -> Binary Build section and check your "resources", "lib", etc.
Previous Topic:Adding a SortAction to my View
Next Topic:Reusing Menu in RCP application
Goto Forum:
  


Current Time: Sat Dec 20 20:54:10 GMT 2014

Powered by FUDForum. Page generated in 0.01645 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software