Stuart McCulloch-3 wrote:
>
> On 19/04/2008, Niall Pemberton <[EMAIL PROTECTED]> wrote:
>>
>> On Fri, Apr 18, 2008 at 4:07 PM, mraible <[EMAIL PROTECTED]> wrote:
>> >
>> > I have a Maven 2 project with <packaging>war</packaging>. I've
>> hand-written a
>> > MANIFEST.MF to make my WAR OSGi-aware and have proven it works with
>> Spring
>> > DM.
>> >
>> > Now I want to get away from maintaining my MANIFEST and use the
>> > maven-bundle-plugin to generate it. Is it possible to use this plugin
>> in a
>> > "war" project or does it only work with <packaging>bundle</packaging>?
>>
>> You can use the bundle plugin to just generate the MANIFEST (using the
>> "manifest" goal) - this is what we've done in Apache Commons (thru's
>> the parent pom) -
>>
>>
>> http://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-9/pom.xml
>>
>> The generated OSGi manifest is then merged in by the maven-jar-plugin.
>> This is an alternative to using packaging "bundle".
>
>
> btw, if you want to avoid manually setting the Bundle-ClassPath then you
> could
> use something like the following to match the bnd generated classpath
> against
> the actual WAR content:
>
> <configuration>
> <instructions>
>
> <Embed-Dependency>*;scope=compile|runtime;inline=false</Embed-Dependency>
> <Embed-Directory>WEB-INF/lib</Embed-Directory>
> <Embed-Transitive>true</Embed-Transitive>
> </instructions>
> </configuration>
>
> which will mimic the maven WAR layout of
> "WEB-INF/lib/artifactId-version.jar"
>
> HTH
>
> --
> Cheers, Stuart
>
>
For some reason, the following doesn't work for me:
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archive>
<!--manifestFile>src/main/webapp/META-INF/MANIFEST.MF</manifestFile-->
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<version>1.4.0</version>
<configuration>
<instructions>
<!-- bundle specific conf -->
<Bundle-Name>${artifactId}</Bundle-Name>
<Bundle-SymbolicName>${osgi.symbolic.name}</Bundle-SymbolicName>
<Export-Package>${osgi.export.pkg}</Export-Package>
<Import-Package>${osgi.import.pkg}</Import-Package>
<Private-Package>${osgi.private.pkg}</Private-Package>
<!-- jar entries -->
<Embed-Dependency>*;scope=compile|runtime;inline=false</Embed-Dependency>
<Embed-Directory>WEB-INF/lib</Embed-Directory>
<Embed-Transitive>true</Embed-Transitive>
<Implementation-Title>MyApp</Implementation-Title>
<Implementation-Version>${pom.version}</Implementation-Version>
<Implementation-Vendor>AppFuse</Implementation-Vendor>
<Implementation-Vendor-Id>org.appfuse</Implementation-Vendor-Id>
<!-- Spring specific entries -->
<Spring-DM-Version>${spring.dm.version}</Spring-DM-Version>
<Spring-Version>${spring.version}</Spring-Version>
</instructions>
</configuration>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin>
The plugin looks like it's running:
[INFO] [bundle:manifest {execution: bundle-manifest}]
But no manifest is created.
Any ideas?
Here's the manifest I'm trying to auto-generate:
Manifest-Version: 1
Bundle-ManifestVersion: 2
Spring-DM-Version: 1.1.0-m2-SNAPSHOT
Spring-Version: 2.5.2
Bundle-Name: Simple OSGi War
Bundle-SymbolicName: myapp
Bundle-Classpath: .,WEB-INF/classes,WEB-INF/lib/freemarker-2.3.12.jar,
WEB-INF/lib/sitemesh-2.3.jar,WEB-INF/lib/urlrewritefilter-3.0.4.jar
Import-Package:
javax.servlet,javax.servlet.http,javax.servlet.resources,javax.swing.tree,
javax.naming,org.w3c.dom,org.apache.commons.logging,javax.xml.parsers;resolution:=optional,
org.xml.sax;resolution:=optional,org.xml.sax.helpers;resolution:=optional,
org.springframework.osgi.web.context.support,
org.springframework.context.support,
org.springframework.web.context,
org.springframework.web.context.support,
org.springframework.web.servlet,
org.springframework.web.servlet.mvc,
org.springframework.web.servlet.mvc.support,
org.springframework.web.servlet.view,
org.springframework.ui,
org.springframework.web.servlet.view.freemarker
Thanks,
Matt
--
View this message in context:
http://www.nabble.com/Is-it-possible-to-use-the-maven-bundle-plugin-on-a-WAR-project--tp16763483p16834883.html
Sent from the Apache Felix - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]