Hi all,
I'm new in Felix because I used Oscar till now.
I'm trying to convert my Osacr bundles to Felix and get some troubles.
In my bundle, I embedd some resources like one Julia config file.
With oscar, this file was reachable though my classloader using
myClassLoarder.getResourceAsStream(myFile) method.
But with Felix, the result of the previous call is null and I get an
error that exlpains that It can get and open my resource file.
Is there a special way to access bundle resources? Do I have to
declare something special in my manifest?
I use the Maven Bundle Plugin BND to generate my bundle and I'd like
to use the same manifest file than the one I had with oscar:
here are my pom.xml and my manifest files:
<?xml version="1.0" encoding="UTF-8"?><project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.ow2.jasmine.jade.wrapper</groupId>
<artifactId>org.ow2.jasmine.jade.wrapper.joram</artifactId>
<packaging>bundle</packaging>
<name>Joram Server</name>
<version>0.0.1-SNAPSHOT</version>
<description>A Bundle for Joram</description>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>1.1.0-SNAPSHOT</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${pom.artifactId}</Bundle-
SymbolicName>
<_include>-target/classes/META-INF/$
{pom.artifactId}.bnd</_include>
<_include>src/main/resources/META-INF/MANIFEST.MF</
_include>
<Export-Package>org.ow2.jasmine.jade.*</Export-Package>
</instructions>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-java</id>
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
<configuration>
<rules>
<requireJavaVersion>
<version>1.5</version>
</requireJavaVersion>
</rules>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.objectweb.fractal</groupId>
<artifactId>fractal-api</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.objectweb.fractal</groupId>
<artifactId>fscript</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.ow2.jasmine</groupId>
<artifactId>jade</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.ow2.jasmine.jade</groupId>
<artifactId>jade-fractal</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.objectweb.joram</groupId>
<artifactId>joram-client</artifactId>
<version>5.0.4</version>
</dependency>
<dependency>
<groupId>org.objectweb.joram</groupId>
<artifactId>joram-mom</artifactId>
<version>5.0.4</version>
</dependency>
<dependency>
<groupId>org.objectweb.joram</groupId>
<artifactId>joram-shared</artifactId>
<version>5.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jms_1.1_spec</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.objectweb.fractal.julia</groupId>
<artifactId>julia-runtime</artifactId>
<version>2.5.1</version>
</dependency>
</dependencies>
</project>
Bundle-Name: Joram Server
Import-Package:
org.ow2.jasmine.jade.fractal.adl.attributes,
org.ow2.jasmine.jade.fractal.adl.components,
org.ow2.jasmine.jade.fractal.api.control,
org.ow2.jasmine.jade.fractal.julia,
org.ow2.jasmine.jade.fractal.julia.control.deployment,
org.ow2.jasmine.jade.fractal.julia.control.genericattribute,
org.ow2.jasmine.jade.fractal.julia.control.binding,
org.ow2.jasmine.jade.fractal.julia.control.reversebinding,
org.ow2.jasmine.jade.fractal.julia.control.factory,
org.ow2.jasmine.jade.fractal.julia.control.content,
org.ow2.jasmine.jade.fractal.util,
org.ow2.jasmine.jade.reflex.api.control,
org.objectweb.jasmine.jade.resource,
org.objectweb.jasmine.jade.resource.start,
org.objectweb.jasmine.jade.service,
org.objectweb.jasmine.jade.service.allocator,
org.objectweb.jasmine.jade.service.deployer,
org.objectweb.jasmine.jade.util,
org.objectweb.asm,
org.objectweb.asm.signature,
org.objectweb.fractal.deployment.local.api,
org.objectweb.fractal.adl,
org.objectweb.fractal.adl.arguments,
org.objectweb.fractal.adl.attributes,
org.objectweb.fractal.adl.bindings,
org.objectweb.fractal.adl.comments,
org.objectweb.fractal.adl.components,
org.objectweb.fractal.adl.coordinates,
org.objectweb.fractal.adl.implementations,
org.objectweb.fractal.adl.interfaces,
org.objectweb.fractal.adl.loggers,
org.objectweb.fractal.adl.nodes,
org.objectweb.fractal.adl.types,
org.objectweb.fractal.adl.util,
org.objectweb.fractal.adl.xml,
org.objectweb.fractal.api,
org.objectweb.fractal.api.control,
org.objectweb.fractal.api.factory,
org.objectweb.fractal.api.type,
org.objectweb.fractal.util,
org.objectweb.fractal.julia,
org.objectweb.fractal.julia.asm,
org.objectweb.fractal.julia.control.attribute,
org.objectweb.fractal.julia.control.binding,
org.objectweb.fractal.julia.control.content,
org.objectweb.fractal.julia.control.lifecycle,
org.objectweb.fractal.julia.control.name,
org.objectweb.fractal.julia.factory,
org.objectweb.fractal.julia.loader,
org.objectweb.fractal.julia.logger,
org.objectweb.fractal.julia.type,
org.objectweb.fractal.rmi.registry,
org.objectweb.fractal.rmi,
org.objectweb.fractal.rmi.io,
org.objectweb.fractal.rmi.stub,
org.objectweb.fractal.jonathan,
org.objectweb.jonathan.apis.binding,
org.objectweb.jonathan.apis.kernel,
org.objectweb.jonathan.apis.presentation,
org.objectweb.jonathan.apis.protocols,
org.objectweb.jonathan.apis.protocols.ip,
org.objectweb.jonathan.apis.resources,
org.objectweb.jonathan.apis.stub_factories,
org.objectweb.jonathan.libs.helpers,
org.objectweb.jonathan.libs.kernel,
org.objectweb.jonathan.libs.protocols.tcpip,
org.objectweb.jonathan.libs.resources,
org.objectweb.jonathan.libs.resources.tcpip
Bundle-Description: A bundle that wrapps a Joram Architecture
Export-Package:
org.objectweb.fractal.fscript,
org.objectweb.fractal.fscript.nodes,
org.objectweb.fractal.fscript.actions,
org.objectweb.fractal.fscript.axes,
org.objectweb.fractal.fscript.expressions,
org.objectweb.fractal.fscript.functions,
org.objectweb.fractal.fscript.functions.fractal,
org.objectweb.fractal.fscript.jade,
org.objectweb.fractal.fscript.parser,
org.objectweb.fractal.fscript.reconfiguration,
org.objectweb.fractal.fscript.statements,
org.objectweb.joram.client.jms.tcp,
org.objectweb.joram.client.jms.admin,
org.ow2.jasmine.jade.resource.joram
Include-Resource: lib/joram-mom.jar,
lib/joram-client.jar,
lib/joram-shared.jar,
lib/jms.jar,
lib/ow_monolog.jar,
lib/JCup.jar,
lib/jgroups-all.jar,
lib/fscript-1.0-SNAPSHOT.jar,
lib/antlr-2.7.7.jar,
etc/julia-joram.cfg=etc/julia-joram.cfg
Bundle-Vendor: Scalagent D.T.
Bundle-Version: 0.0.1
Manifest-Version: 1.0
Bundle-ClassPath: .,
joram-mom.jar,
joram-client.jar,
joram-shared.jar,
jms.jar,
ow_monolog.jar,
JCup.jar,
jgroups-all.jar,
fscript-1.0-SNAPSHOT.jar,
antlr-2.7.7.jar
The problem is that when I process the mvn install, I get a compile
error that I don't have when I generate the jar with my .bnd file.
[ERROR] Error building bundle
org.ow2.jasmine.jade.wrapper:org.ow2.jasmine.jade.wrapper.joram:bundle:0
.0.1-SNAPSHOT : Unresolved references to [antlr,
antlr.collections.impl, fr.dyade.aaa.jndi2.soap, fr.dyade.aaa.util,
fr.dyade.aaa.util.management, javax.jms, javax.naming,
javax.naming.spi, javax.net, javax.net.ssl, javax.xml.parsers,
org.objectweb.joram.client.jms,
org.objectweb.joram.client.jms.connection,
org.objectweb.joram.client.jms.ha.local,
org.objectweb.joram.client.jms.ha.tcp,
org.objectweb.joram.client.jms.local, org.objectweb.joram.shared,
org.objectweb.joram.shared.admin, org.objectweb.joram.shared.client,
org.objectweb.joram.shared.messages,
org.objectweb.joram.shared.stream, org.objectweb.util.monolog.api,
org.ow2.jasmine.jade.resource.joram, org.xml.sax,
org.xml.sax.helpers] by class(es) on the Bundle-Classpath[Jar:dot]:
[org/objectweb/joram/client/jms/admin/JoramAdmin.class, org/objectweb/
fractal/fscript/parser/FScriptLexer.class, org/objectweb/joram/client/
jms/admin/PlatformAdminMBean.class, org/objectweb/joram/client/jms/
admin/AdminMessage.class, org/objectweb/joram/client/jms/admin/
User.class, org/objectweb/joram/client/jms/admin/ObjectFactory.class,
org/objectweb/joram/client/jms/tcp/OptimizedReliableTcpClient.class,
org/objectweb/fractal/fscript/AttributesHelper.class, org/objectweb/
joram/client/jms/admin/JoramSaxWrapper.class, org/objectweb/fractal/
fscript/FScriptInterpreter.class, org/objectweb/joram/client/jms/tcp/
ReliableSSLTcpClient.class, org/objectweb/joram/client/jms/admin/
UserMBean.class, org/objectweb/joram/client/jms/admin/
OptimizedClusterConnectionFactory.class, org/objectweb/joram/client/
jms/tcp/XATcpConnectionFactory.class, org/objectweb/joram/client/jms/
tcp/XAQueueTcpConnectionFactory.class, org/objectweb/joram/client/jms/
tcp/XATopicTcpConnectionFactory.class, org/objectweb/joram/client/jms/
admin/AbstractConnectionFactory.class, org/objectweb/joram/client/jms/
tcp/QueueTcpConnectionFactory.class, org/objectweb/joram/client/jms/
admin/AdministeredObject.class, org/objectweb/joram/client/jms/tcp/
TopicTcpConnectionFactory.class, org/objectweb/fractal/fscript/parser/
FScriptParser1.class, org/objectweb/joram/client/jms/admin/
AdminModule.class, org/objectweb/joram/client/jms/admin/
DeadMQueue.class, org/objectweb/joram/client/jms/admin/
ClusterQueue.class, org/objectweb/joram/client/jms/admin/
ClusterTopic.class, org/objectweb/joram/client/jms/admin/AdminModule
$AdminRequestor.class, org/objectweb/joram/client/jms/tcp/
ReliableTcpClient.class, org/objectweb/joram/client/jms/admin/
PlatformAdmin.class, org/objectweb/joram/client/jms/tcp/
TcpConnection.class, org/objectweb/joram/client/jms/admin/
ClusterConnectionFactory.class, org/objectweb/joram/client/jms/admin/
AdminHelper.class, org/objectweb/fractal/fscript/nodes/
AttributeNodeImpl.class, org/objectweb/joram/client/jms/tcp/
TcpConnectionFactory.class, org/objectweb/joram/client/jms/admin/
JoramAdminMBean.class, org/objectweb/joram/client/jms/admin/
ClusterDestination.class, org/objectweb/fractal/fscript/
reconfiguration/SetValueReconfiguration.class]
[ERROR] Error(s) found in bundle configuration
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Error(s) found in bundle configuration
[INFO]
------------------------------------------------------------------------
[DEBUG] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Error(s)
found in bundle configuration
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals
(DefaultLifecycleExecutor.java:564)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifec
ycle(DefaultLifecycleExecutor.java:480)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal
(DefaultLifecycleExecutor.java:459)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandle
Failures(DefaultLifecycleExecutor.java:311)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
DefaultLifecycleExecutor.java:278)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute
(DefaultLifecycleExecutor.java:143)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:
333)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.codehaus.classworlds.Launcher.launchEnhanced
(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode
(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error(s)
found in bundle configuration
at org.apache.felix.bundleplugin.BundlePlugin.execute
(BundlePlugin.java:332)
at org.apache.felix.bundleplugin.BundlePlugin.execute
(BundlePlugin.java:172)
at org.apache.felix.bundleplugin.BundlePlugin.execute
(BundlePlugin.java:164)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo
(DefaultPluginManager.java:447)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals
(DefaultLifecycleExecutor.java:539)
... 16 more
Caused by: org.apache.maven.plugin.MojoFailureException: Error(s)
found in bundle configuration
at org.apache.felix.bundleplugin.BundlePlugin.execute
(BundlePlugin.java:302)
... 20 more
Can someone help me?
Thanks in advance.
F. Metral
-------------------------------------------------------------------
Florent METRAL
Ingénieur Expert - Projet SARDES
INRIA Rhône-Alpes
655, avenue de l'Europe, Montbonnot
38334 St Ismier Cedex, France
Mail: [EMAIL PROTECTED]
Tel: +33 4 76 61 52 80