felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From RĂ©mi Druilhe <remi.drui...@orange.com>
Subject Problem during bundle manipulation in iPOJO
Date Tue, 24 Jan 2012 14:24:56 GMT
Hello,

I am facing a weird problem/bug when maven-ipojo-plugin start manipulate 
one of my bundle. Depending if my code is in a try/catch or not, my 
build is successful or there is a fatal error.

Here is the output (code inside the try/catch) :

[INFO] [bundle:bundle {execution: default-bundle}]
[INFO] [ipojo:ipojo-bundle {execution: default}]
[INFO] Start bundle manipulation
[INFO] Metadata file : 
/home/xxxx/workspace/These/homenap-ipojo/homenap/local-coordinator/target/classes/metadata.xml
[INFO] Input Bundle File : 
/home/xxxx/workspace/These/homenap-ipojo/homenap/local-coordinator/target/local-coordinator-0.1-SNAPSHOT.jar
[INFO] 
------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] 
------------------------------------------------------------------------
[INFO] java.lang.ClassNotFoundException: 
com.olnc.made.homenap.utils.MigrationReader
[INFO] 
------------------------------------------------------------------------
[INFO] Trace
java.lang.RuntimeException: java.lang.ClassNotFoundException: 
com.olnc.made.homenap.utils.MigrationReader
     at org.objectweb.asm.ClassWriter.getCommonSuperClass(Unknown Source)
     at org.objectweb.asm.ClassWriter.a(Unknown Source)
     at org.objectweb.asm.Frame.a(Unknown Source)
     at org.objectweb.asm.Frame.a(Unknown Source)
     at org.objectweb.asm.MethodWriter.visitMaxs(Unknown Source)
     at org.objectweb.asm.commons.LocalVariablesSorter.visitMaxs(Unknown 
Source)
     at org.objectweb.asm.ClassReader.accept(Unknown Source)
     at org.objectweb.asm.ClassReader.accept(Unknown Source)
     at 
org.apache.felix.ipojo.manipulation.Manipulator.manipulate(Manipulator.java:100)
     at 
org.apache.felix.ipojo.manipulator.ManipulationEngine.generate(ManipulationEngine.java:111)
     at 
org.apache.felix.ipojo.manipulator.Pojoization.pojoization(Pojoization.java:312)
     at 
org.apache.felix.ipojo.manipulator.Pojoization.pojoization(Pojoization.java:198)
     at 
org.apache.felix.ipojo.plugin.ManipulatorMojo.execute(ManipulatorMojo.java:237)
     at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
     at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
     at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
     at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
     at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
     at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
     at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
     at 
org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
     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:597)
     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)

I checked and the MigrationReader class is in my bundle. It sounds to be 
a problem in ASM, but I wanted to check with you first.

Here is a part of the code :

         try {
             // Three following instructions can be put outside of the 
try and it works.
             XMLReader migrationReader = new MigrationReader();
             InputSource migrationSource = new 
MigrationSource(propertiesList);
             Source source = new SAXSource(migrationReader, 
migrationSource);

             TransformerFactory factory = TransformerFactory.newInstance();
             Transformer transformer = factory.newTransformer();

             transformer.setOutputProperty(OutputKeys.INDENT, "yes");
             transformer.setOutputProperty(OutputKeys.VERSION, "1.0");
             transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");

             transformer.transform(source, resultat);
         } catch (NullPointerException e) {
             e.printStackTrace();
         } catch (TransformerConfigurationException e) {
             e.printStackTrace();
         } catch (TransformerException e) {
             e.printStackTrace();
         }

Thanks,

Regards,
-- 
*DRUILHE Remi*
*PhD Student @ Orange Labs* *MAPS/SHINE/MADE*
Tel : +33 (0)4 76 76 24 27
Email: remi.druilhe@orange.com <mailto:remi.druilhe@orange.com>
R&D Grenoble 28 chemin du Vieux ChĂȘne - BP98 38243 Meylan Cedex - France

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message