[
https://issues.apache.org/jira/browse/SHIRO-624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16142900#comment-16142900
]
Tuomas Kiviaho commented on SHIRO-624:
--------------------------------------
It's been a while when I last time had my hands on the bundle plugin
(https://issues.apache.org/jira/browse/FELIX-3565) codebaseand I still seem to
be using a patched version of 2.4.1, but all-n-all I remember also struggling
with a similar issue of classes from dependencies being added to the jar
against my intentions.
I am declaring the OSGi dependencies myself with {{<type>bundle</type>}} in
order to differentiate them from plain old jars that need to be either embedded
or extracted into the jar that you are creating. The effect of that type along
with scope and dependency exclusions should give the functionality as what you
were expecting from your dependencies.
I hope that this approach works because there has been an issue reported that
closely related to my patch (https://issues.apache.org/jira/browse/FELIX-5645)
BTW: One could argue that bundles can contain redundant classes making them
sort of fat jars. This works only when there is a clear package separation
between bundles which I don't think that Shiro yet has although the problem can
be circumvented by declaring shiro bundles as fragments of shiro-core. In every
shiro bundle one must see that those packages that are of foreign origin are
declared as Package-Imports or otherwise the classloading doesn't work as
expected. In conclusion I'm very much personally against fat jars. Although
they are easy to setup, they are a pain to live with because BND will see these
extra classes and I have to manually exclude every unwanted package like
commons-config2.
> OSGI: commons configuration import should be optional
> -----------------------------------------------------
>
> Key: SHIRO-624
> URL: https://issues.apache.org/jira/browse/SHIRO-624
> Project: Shiro
> Issue Type: Bug
> Affects Versions: 1.4.0
> Reporter: Moritz Bechler
> Priority: Minor
>
> shiro-core OSGI manifest currently declares the
> org.apache.commons.configuration2.interpol import as required.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)