[ https://issues.apache.org/jira/browse/FELIX-526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stuart McCulloch resolved FELIX-526. ------------------------------------ Resolution: Fixed Fixed in trunk, just deployed a new snapshot for testing purposes: maven-bundle-plugin-1.4.1-20080401.065838-3.jar > Allow a mechanism to give preference to local resources over the ones from > embedded jars > ---------------------------------------------------------------------------------------- > > Key: FELIX-526 > URL: https://issues.apache.org/jira/browse/FELIX-526 > Project: Felix > Issue Type: Improvement > Components: Maven Bundle Plugin > Affects Versions: maven-bundle-plugin-1.4.0 > Environment: JDK 5 on OpenSolaris/x86 > Reporter: Sahoo > Assignee: Stuart McCulloch > Fix For: maven-bundle-plugin-1.4.1 > > > Please see the following email discussion between me and Stuart. It happened > on [EMAIL PROTECTED] alias on 31 Mar 2008 with the subject that reads like > this: > [maven-bundle-plugin] How to stop exporting a resource from an inlined jar? > On 31/03/2008, Sahoo <[EMAIL PROTECTED]> wrote: > > > > > > Hi, > > > > > > I am trying to use maven-bundle-plugin v1.4.0. I prepare a bundle (say > > > bundle.jar) which inlines the contents of another jar type artifact > > > called javax.faces:jsf-impl. There is a resource called > > > META-INF/services/com.sun.faces.spi.injectionprovider which is present > > > both in the jsf-impl.jar as well in current project's src/main/resources > > > area. I want to package the one that's in our workspace. So, I > > > configured the plugin like this: > > > > > > <configuration> > > > <Embed-Dependency> > > > *;groupId=javax.faces;artifactId=jsf-impl;inline=true > > > </Embed-Dependency> > > > > > > <!-- Package everything from the embedded jar in the > > > final bundle except the following file which > > > we maintain in our src/main/resources dir: > > > META-INF/services/com.sun.faces.spi.injectionprovider > > > --> > > > <_exportcontents> > > > !META-INF/services/com.sun.faces.spi.injectionprovider,* > > > </_exportcontents> > > > </configuration> > > > > > > Yet, I see the resource that is being packaged in the bundle is the one > > > from jsf-impl.jar and not from target/classes/... area. What am I doing > > > wrong? > currently embedded dependencies are added to the Include-Resource > statement after the maven resources - unfortunately this means that any > inlined entries will overwrite local entries, which isn't optimal :( > I'll change this ordering round in 1.4.1 (open a JIRA issue to remind me) > you'll also be able to customize the Include-Resource better in 1.4.1, eg: > <Include-Resource> > {maven-dependencies},some-file,{maven-resources},another-file > </Include-Resource> > where {maven-dependencies} and {maven-resources} expand to the list of > embedded entries and maven resources respectively - you can already do > this to some extent with 1.4.0, but there's a bug on Windows with replacing > the "{maven-dependencies}" token... > so the workaround with 1.4.0 would be to use something like this in place > of the Embed-Dependency - you'll need to list each dependency explicitly > using @artifactId-version.jar to inline it (this is what Embed-Dependency > does under the covers) for example: > <Include-Resource> > @jsf-impl-1.2-b19.jar,{maven-resources} > </Include-Resource> > will inline the JSF jar and then overlay resources from the current project > HTH -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.