After reading the OSGi Enterprise 4.2 part over Web Archive Bundles (WAB). I
started to change the pom.xml packaging from war into bundle. Added the
maven-bundle-plugin and the maven-war-plugin to get the manifest after
generation into the war.

Generating the import and exports with the packaging bundle works fine, but
i have a problem to add the Bundle-ClassPath to the manifest. If i uncomment
the Bundle-ClassPath i get the following error:

"Cannot find a file or directory for Bundle-Classpath entry:
WEB-INF/classes"

I comprehend why the bundle-plugin throw this error. But how did i get the
Bundle-Classpath into my manifest ? I tried something around with Peter
Kriens BND Tool which  provide some directives wab and wablib but nothing
happen and im not sure if i use this directives right.

If i use as packaging war manifest generation with Bundle-Classpath works
fine, but export and imports are not complete. Know anyone a solution how to
resolve this problem ?

Part of my pom.xml:

            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>2.1.0</version>
                <extensions>true</extensions>
                <configuration>

<manifestLocation>${project.build.directory}/MANIFEST/</manifestLocation>

<excludeDependencies>*;scope=provided</excludeDependencies>
                    <instructions>
                        <!-- <Import-Package>*</Import-Package> -->
                        <Export-Package>!*</Export-Package>
                        <!--
<Bundle-ClassPath>.,WEB-INF/classes</Bundle-ClassPath> -->
                        <Embed-Directory>WEB-INF/lib</Embed-Directory>
                        <_wab></_wab>

<Embed-Dependency>*;scope=compile|runtime;inline=false</Embed-Dependency>
                        <!-- <Web-ContextPath>geoserver</Web-ContextPath>
<Webapp-Context>geoserver</Webapp-Context> -->
                    </instructions>
                    <executions>
                        <execution>
                            <id>bundle-manifest</id>
                            <phase>process-classes</phase>
                            <goals>
                                <goal>manifest</goal>
                            </goals>
                        </execution>
                    </executions>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>2.1.0</version>
                <executions>
                    <execution>
                        <id>bundle-manifest</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>manifest</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

Cheers,

Michael

Reply via email to