[ https://issues.apache.org/jira/browse/CONFIGURATION-639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15474234#comment-15474234 ]
Bernd Eckenfels commented on CONFIGURATION-639: ----------------------------------------------- Well, it was my first feeling too, but on the other hand from experience I can say this is not an issue. The dependencies in such projects are mostly not up-to-date, so if somebody uses it they have a wide range of versions which are accepted (anything more current up to the next major). If a project is quick to update the dependencies then it is also seldomly a problem since the new version of that gets only dragged in by projects updating anyway. So while it might restrict some situations it typially is not an issue. Especially given that fact that only because there is no version restriction does not mean the unrestricted artifact in a odd version actually works. However this might be a bigger change than a bugfix. So I guess the plugin should be configured to not provide version ranges (but optionals) for the next minor release. > OSGi Import-Package declaration not complete regarding optional dependencies > ---------------------------------------------------------------------------- > > Key: CONFIGURATION-639 > URL: https://issues.apache.org/jira/browse/CONFIGURATION-639 > Project: Commons Configuration > Issue Type: Bug > Affects Versions: 2.1 > Environment: OSGi-container > Reporter: Rico Neubauer > Labels: commons-configuration, osgi > Attachments: s1.txt, s2.txt > > > common-configuration2's pom.xml correctly defines optional dependencies like > vfs2 or spring with <optional>. > However, it does only declare a subset of those as optional OSGi-dependencies: > {code:xml} > <!-- Explicitly declare optional dependencies for the OSGi manifest. --> > <commons.osgi.import> > org.apache.commons.beanutils.*;resolution:=optional, > org.apache.commons.codec.*;resolution:=optional, > org.apache.commons.jxpath.*;resolution:=optional, > org.apache.xml.resolver.*;resolution:=optional, > javax.servlet.*;resolution:=optional, > org.apache.commons.jexl2.*;resolution:=optional, > org.apache.commons.vfs2.*;resolution:=optional, > * > </commons.osgi.import> > {code} > See https://github.com/apache/commons-configuration/blob/trunk/pom.xml for > both above. > Due to the missing "resolution:=optional, commons-configuration2 cannot be > deployed in an OSGi-environment not providing the optional bundles. > Example error on deploy: > {code} > Unable to resolve Module[org.apache.commons.configuration:2.1.0]: missing > requirement [Module[org.apache.commons.configuration:2.1.0]] package; > (package=org.springframework.beans.factory) > {code} > Please have a look if you agree and add the missing instructions for the > remaining optional dependencies. > Manually fixed Import-package statement looks like this (disregarding > line-breaks): > {code} > Import-Package: > javax.naming,javax.servlet;resolution:=optional,javax.sql,javax.xml.parsers,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.stream,org.apache.commons.beanutils;resolution:=optional,org.apache.commons.codec.binary;resolution:=optional,org.apache.commons.jexl2;resolution:=optional,org.apache.commons.jxpath;resolution:=optional,org.apache.commons.jxpath.ri;resolution:=optional,org.apache.commons.jxpath.ri.compiler;resolution:=optional,org.apache.commons.jxpath.ri.model;resolution:=optional,org.apache.commons.lang3;version="[3.3,4)",org.apache.commons.lang3.builder;version="[3.3,4)",org.apache.commons.lang3.concurrent;version="[3.3,4)",org.apache.commons.lang3.mutable;version="[3.3,4)",org.apache.commons.lang3.text;version="[3.3,4)",org.apache.commons.lang3.text.translate;version="[3.3,4)",org.apache.commons.logging;version="[1.2,2)",org.apache.commons.logging.impl;version="[1.2,2)",org.apache.commons.vfs2;resolution:=optional,org.apache.commons.vfs2.provider;resolution:=optional,org.apache.xml.resolver;resolution:=optional,org.apache.xml.resolver.helpers;resolution:=optional,org.apache.xml.resolver.readers;resolution:=optional,org.apache.xml.resolver.tools;resolution:=optional,org.springframework.beans.factory;resolution:=optional,org.springframework.core.env;resolution:=optional,org.springframework.core.io;resolution:=optional,org.springframework.util;resolution:=optional,org.w3c.dom,org.xml.sax,org.xml.sax.helpers > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)