You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Daniel Estermann (JIRA)" <ji...@apache.org> on 2016/11/14 21:16:58 UTC

[jira] [Commented] (FELIX-5343) JPA analyzer forces usage of imported packages without version.

    [ https://issues.apache.org/jira/browse/FELIX-5343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15665045#comment-15665045 ] 

Daniel Estermann commented on FELIX-5343:
-----------------------------------------

An example project to reproduce the bug can be found here: https://gitlab.com/d.esterman/mbp-test

> JPA analyzer forces usage of imported packages without version.
> ---------------------------------------------------------------
>
>                 Key: FELIX-5343
>                 URL: https://issues.apache.org/jira/browse/FELIX-5343
>             Project: Felix
>          Issue Type: Bug
>          Components: Maven Bundle Plugin
>    Affects Versions: maven-bundle-plugin-3.2.0
>         Environment: An OSGi contanier (JBoss, Karaf) with 2 different Javassists deployed.
>            Reporter: Daniel Estermann
>
> I deploy 2 different versions of javassist in my OSGi containers: javassist-3.18.1-GA.jar and javassist-3.15.0-GA.jar. Dependent on the wiring situation I get sometimes exceptions caused by incompatibility of the both versions:
> {code:none}HHH000142: Javassist Enhancement failed: com.estermann.testwab.TestWabEntity: java.lang.NoSuchMethodError: javassist.util.proxy.RuntimeSupport.find2Methods(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/reflect/Method;)V{code}
> To fix it I add version parameter on javassist import in my bundle plugin configuration:
> {code:xml|title=pom.xml|borderStyle=solid}
> <plugin>
>   <groupId>org.apache.felix</groupId>
>   <artifactId>maven-bundle-plugin</artifactId>
>   <version>3.2.0</version>
>   <extensions>true</extensions>
>   <configuration>
>     <instructions>
>       <Meta-Persistence>META-INF/persistence.xml</Meta-Persistence>
>       <Import-Package>javassist.util.proxy;version=3.18, *
>       </Import-Package>
>     </instructions>
>   </configuration>
> </plugin>{code}
> But since bundle-plugin 3.2.0 (which includes [FELIX-5233|https://issues.apache.org/jira/browse/FELIX-5233]) having the Meta-Persistence instruction results in additional imported packages. So the resulting manifest includes two imports of javassist.util.proxy:
> {code:none}
> Import-Package: 
>  javassist.util.proxy;version="3.18",
>  javassist.util.proxy;resolution:=optional
> {code}
> ...which results in
> {code:none}
> org.osgi.framework.BundleException: Duplicate import of package javassist.util for com.estermann.testwab:0.0.1.SNAPSHOT
> {code}
> I would expect that two import declarations to get merged by the plugin.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)