Home » Eclipse Projects » Virgo » Package merge Problem(Cannot install bundles for iText1.3.4 and iText 2.1.7)
Package merge Problem [message #957293] |
Thu, 25 October 2012 01:52  |
Eclipse User |
|
|
|
Hi,
I have some OSGI bundles that use different type of iText. I am trying to install these bundles via a plan into virgo. Now I get the message, that package imports cannot be merged:
Caused by: org.eclipse.virgo.kernel.osgi.framework.ImportMergeException: cannot merge imports of package 'com.lowagie.text.pdf.hyphenation' from sources 'Import
-Bundle 'com.portigon.server.csar-1-com.portigonsource.iText-1.3.4' version '1.3.4', Import-Bundle 'com.portigon.server.csar-1-com.portigonsource.iText-2.1.7' v
ersion '2.1.7'' because of conflicting values 'com.portigon.server.csar-1-com.portigonsource.iText-2.1.7', 'com.portigon.server.csar-1-com.portigonsource.iText-
1.3.4' of attribute 'bundle-symbolic-name'
I have had the same problem with some of my own bundles. The reason was that two bundles exported the same package name. Solved it by renaming the package in one bundle. I don't want to rename the iText pacakges and I am sure that one of the features of OSGI is that same bundles can be used in different versions. Can someone explain why this does not work with virgo? And why is virgo complaining about the symbolic name (you can see in the attached manifests that it is not the same):
Here is the manifest of the first bundle:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: iText 1.3.4
Bundle-SymbolicName: com.portigonsource.iText-1.3.4
Bundle-Version: 1.3.4
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: .,
lib/itext-1.3.4.jar
Export-Package: com.lowagie.bc.asn1;version="1.3.4",
com.lowagie.text;version="1.3.4",
com.lowagie.text.html;version="1.3.4",
com.lowagie.text.html.simpleparser;version="1.3.4",
com.lowagie.text.markup;version="1.3.4",
com.lowagie.text.pdf;version="1.3.4",
com.lowagie.text.pdf.codec;version="1.3.4",
com.lowagie.text.pdf.codec.postscript;version="1.3.4",
com.lowagie.text.pdf.codec.wmf;version="1.3.4",
com.lowagie.text.pdf.fonts;version="1.3.4",
com.lowagie.text.pdf.hyphenation;version="1.3.4",
com.lowagie.text.rtf;version="1.3.4",
com.lowagie.text.rtf.document;version="1.3.4",
com.lowagie.text.rtf.document.output;version="1.3.4",
com.lowagie.text.rtf.field;version="1.3.4",
com.lowagie.text.rtf.graphic;version="1.3.4",
com.lowagie.text.rtf.headerfooter;version="1.3.4",
com.lowagie.text.rtf.list;version="1.3.4",
com.lowagie.text.rtf.style;version="1.3.4",
com.lowagie.text.rtf.table;version="1.3.4",
com.lowagie.text.rtf.text;version="1.3.4",
com.lowagie.text.xml;version="1.3.4",
com.lowagie.text.xml.xmp;version="1.3.4",
com.lowagie.tools;version="1.3.4",
com.lowagie.tools.arguments,
com.lowagie.tools.plugins
And here the other one:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: iText
Bundle-SymbolicName: com.portigonsource.iText-2.1.7
Bundle-Version: 2.1.7
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: lib/iText-2.1.7.jar,
.
Export-Package: com.lowagie.text;version="2.1.7",
com.lowagie.text.exceptions;version="2.1.7",
com.lowagie.text.factories;version="2.1.7",
com.lowagie.text.html;version="2.1.7",
com.lowagie.text.html.simpleparser;version="2.1.7",
com.lowagie.text.pdf;version="2.1.7",
com.lowagie.text.pdf.codec;version="2.1.7",
com.lowagie.text.pdf.codec.wmf;version="2.1.7",
com.lowagie.text.pdf.collection;version="2.1.7",
com.lowagie.text.pdf.crypto;version="2.1.7",
com.lowagie.text.pdf.draw;version="2.1.7",
com.lowagie.text.pdf.events;version="2.1.7",
com.lowagie.text.pdf.fonts;version="2.1.7",
com.lowagie.text.pdf.fonts.cmaps;version="2.1.7",
com.lowagie.text.pdf.hyphenation;version="2.1.7",
com.lowagie.text.pdf.interfaces;version="2.1.7",
com.lowagie.text.pdf.internal;version="2.1.7",
com.lowagie.text.pdf.parser;version="2.1.7",
com.lowagie.text.xml;version="2.1.7",
com.lowagie.text.xml.simpleparser;version="2.1.7",
com.lowagie.text.xml.xmp;version="2.1.7",
com.lowagie.tools;version="2.1.7"
Any hints on this?
Regards,
Thorsten
|
|
|
Re: Package merge Problem [message #968318 is a reply to message #957293] |
Fri, 02 November 2012 07:17  |
Eclipse User |
|
|
|
The import merge exception is a somewhat cryptic symptom of split packages inside a scoped plan. The issue is that each scoped plan has a synthetic context bundle which provides a thread context class loader capable of loading all the classes of all the packages exported by the bundles in the plan and this scheme does not support split packages (because it would need to use Require-Bundle to achieve that and Require-Bundle has too many semantic rough edges for us to promote its use).
Is it possible to factor the iText bundles out of the scoped plan? In general it is good practice not to include infrastructure bundles in a scoped plan when this can be avoided.
|
|
|
Goto Forum:
Current Time: Fri Jul 04 17:00:30 EDT 2025
Powered by FUDForum. Page generated in 0.03263 seconds
|