You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by Nicolas Peltier <np...@adobe.com> on 2014/03/10 13:25:20 UTC
[solved][scr] java.lang.IncompatibleClassChangeError: Implementing
class
Thanks Robert, that didn’t work out. I “fixed" it by removing all the javautil references from internal private methods signatures…this probably isn’t right, but don’t have much more time to spend on this, and wouldn’t know exactly how to file a bug
On 10 Mar 2014, at 11:43, Robert Munteanu <ro...@apache.org> wrote:
> On Mon, Mar 10, 2014 at 12:19 PM, Nicolas Peltier <np...@adobe.com> wrote:
>> Right thanks a bunch.. i need asm at runtime (i embed it) but not at compilation time (and definitely not at description gen time). I removed the dependency and got the same error, so i guess problem is a javautil class uses an API incompatible with asm-all used in scr. Is there a way to ask scr validator not to check too far? :-)
>
> Maybe @Component(inherit=false) ?
>
> Robert
>
>>
>> On 10 Mar 2014, at 10:49, Robert Munteanu <ro...@apache.org> wrote:
>>
>>> Maybe there's a clash between the ASM version used by the SCR plugin
>>> (4.0) and the one used by your project ( 3.3.1 ) ?
>>>
>>> Robert
>>>
>>> On Mon, Mar 10, 2014 at 11:40 AM, Nicolas Peltier <np...@adobe.com> wrote:
>>>> Thanks Robert,
>>>>
>>>> i don’t manage to run the build with the proposed option. However, i’ve moved some suspected class out of the interface, only in the implementation, and get the same error, but happening a bit further, basically in the component implementing the interface [0]. I guess i’m next to it :-) but still can’t find that. I’m using clapper for class information browsing through 2 dependencies [1], the incriminated class is org.clapper.util.classutil.ClassInfo. Those dependencies required me to add the maven.clapper.org repository within the project.
>>>>
>>>> Nicolas
>>>>
>>>> [0] Caused by: java.lang.IncompatibleClassChangeError: Implementing class
>>>> at java.lang.ClassLoader.defineClass1(Native Method)
>>>> at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
>>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
>>>> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
>>>> at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
>>>> at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>>>> at java.lang.ClassLoader.defineClass1(Native Method)
>>>> at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
>>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
>>>> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
>>>> at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
>>>> at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>>>> at java.lang.Class.getDeclaredMethods0(Native Method)
>>>> at java.lang.Class.privateGetDeclaredMethods(Class.java:2484)
>>>> at java.lang.Class.getDeclaredMethods(Class.java:1827)
>>>> at org.apache.felix.scrplugin.helper.ClassScanner.extractAnnotation(ClassScanner.java:253)
>>>> at org.apache.felix.scrplugin.helper.ClassScanner.processClass(ClassScanner.java:209)
>>>> at org.apache.felix.scrplugin.helper.ClassScanner.process(ClassScanner.java:161)
>>>> at org.apache.felix.scrplugin.helper.ClassScanner.scanSources(ClassScanner.java:146)
>>>> at org.apache.felix.scrplugin.SCRDescriptorGenerator.execute(SCRDescriptorGenerator.java:146)
>>>> at org.apache.felix.scrplugin.mojo.SCRDescriptorMojo.execute(SCRDescriptorMojo.java:221)
>>>> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
>>>>
>>>> [1] <dependency>
>>>> <groupId>org.clapper</groupId>
>>>> <artifactId>javautil</artifactId>
>>>> <version>3.1.1</version>
>>>> <scope>compile</scope>
>>>> </dependency>
>>>> <dependency>
>>>> <groupId>asm</groupId>
>>>> <artifactId>asm</artifactId>
>>>> <version>3.3.1</version>
>>>> <scope>compile</scope>
>>>> </dependency>
>>>>
>>>>
>>>>
>>>> On 10 Mar 2014, at 10:32, Robert Munteanu <ro...@apache.org> wrote:
>>>>
>>>>> Hi Nicolas,
>>>>>
>>>>>
>>>>>
>>>>> On Sun, Mar 9, 2014 at 11:08 PM, Nicolas Peltier <np...@adobe.com> wrote:
>>>>>> Hi,
>>>>>>
>>>>>> while compiling a rather simple project with a one method interface, i get the scr package phasis failing [0] , apparently when processing the only reference i use in my project [1]. I’m out of ideas and hope this rings a bell to someone, or can someone guide me through the way to debug the scr generator project? i’ve tried mvnDebug + remote debugging on port 8000, but i don’t manage to have my ide (intellij) even loading the class.
>>>>>
>>>>> Can you try loading your build with -verbose:class and see if anything
>>>>> stands out? I'd be looking for classes loaded from unexpected
>>>>> locations or old versions of classes.
>>>>>
>>>>> Robert
>>>>>
>>>>>>
>>>>>> Nicolas
>>>>>>
>>>>>>
>>>>>> [0]
>>>>>> [INFO] ------------------------------------------------------------------------
>>>>>> [ERROR] Failed to execute goal org.apache.felix:maven-scr-plugin:1.15.1-R1557061:scr (generate-scr-scrdescriptor) on project sightly-ide-api: Execution generate-scr-scrdescriptor of goal org.apache.felix:maven-scr-plugin:1.15.1-R1557061:scr failed: An API incompatibility was encountered while executing org.apache.felix:maven-scr-plugin:1.15.1-R1557061:scr: java.lang.IncompatibleClassChangeError: Implementing class
>>>>>> [ERROR] -----------------------------------------------------
>>>>>> [ERROR] realm = plugin>org.apache.felix:maven-scr-plugin:1.15.1-R1557061
>>>>>> [ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
>>>>>> [ERROR] urls[0] = file:/Users/npeltier/.m2/repository/org/apache/felix/maven-scr-plugin/1.15.1-R1557061/maven-scr-plugin-1.15.1-R1557061.jar
>>>>>> [ERROR] urls[1] = file:/Users/npeltier/.m2/repository/org/slf4j/slf4j-simple/1.5.2/slf4j-simple-1.5.2.jar
>>>>>> [ERROR] urls[2] = file:/Users/npeltier/.m2/repository/org/slf4j/slf4j-api/1.5.2/slf4j-api-1.5.2.jar
>>>>>> [ERROR] urls[3] = file:/Users/npeltier/.m2/repository/org/apache/maven/maven-archiver/2.2/maven-archiver-2.2.jar
>>>>>> [ERROR] urls[4] = file:/Users/npeltier/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar
>>>>>> [ERROR] urls[5] = file:/Users/npeltier/.m2/repository/org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar
>>>>>> [ERROR] urls[6] = file:/Users/npeltier/.m2/repository/org/apache/felix/org.apache.felix.scr.generator/1.8.3-R1557061/org.apache.felix.scr.generator-1.8.3-R1557061.jar
>>>>>> [ERROR] urls[7] = file:/Users/npeltier/.m2/repository/org/ow2/asm/asm-all/4.0/asm-all-4.0.jar
>>>>>> [ERROR] urls[8] = file:/Users/npeltier/.m2/repository/org/osgi/org.osgi.core/4.2.0/org.osgi.core-4.2.0.jar
>>>>>> [ERROR] urls[9] = file:/Users/npeltier/.m2/repository/org/osgi/org.osgi.compendium/4.2.0/org.osgi.compendium-4.2.0.jar
>>>>>> [ERROR] urls[10] = file:/Users/npeltier/.m2/repository/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar
>>>>>> [ERROR] urls[11] = file:/Users/npeltier/.m2/repository/org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar
>>>>>>
>>>>>>
>>>>>> [1]
>>>>>> Caused by: java.lang.IncompatibleClassChangeError: Implementing class
>>>>>> at java.lang.ClassLoader.defineClass1(Native Method)
>>>>>> at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
>>>>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
>>>>>> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
>>>>>> at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
>>>>>> at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
>>>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
>>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>>>>>> at java.lang.ClassLoader.defineClass1(Native Method)
>>>>>> at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
>>>>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
>>>>>> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
>>>>>> at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
>>>>>> at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
>>>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
>>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>>>>>> at java.lang.Class.getDeclaredMethods0(Native Method)
>>>>>> at java.lang.Class.privateGetDeclaredMethods(Class.java:2484)
>>>>>> at java.lang.Class.getDeclaredMethod(Class.java:1971)
>>>>>> at org.apache.felix.scrplugin.helper.Validator.getMethod(Validator.java:541)
>>>>>> at org.apache.felix.scrplugin.helper.Validator.findMethod(Validator.java:575)
>>>>>> at org.apache.felix.scrplugin.SCRDescriptorGenerator.processReferences(SCRDescriptorGenerator.java:654)
>>>>>> at org.apache.felix.scrplugin.SCRDescriptorGenerator.createComponent(SCRDescriptorGenerator.java:390)
>>>>>> at org.apache.felix.scrplugin.SCRDescriptorGenerator.execute(SCRDescriptorGenerator.java:161)
>>>>>> at org.apache.felix.scrplugin.mojo.SCRDescriptorMojo.execute(SCRDescriptorMojo.java:221)
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>>>>> For additional commands, e-mail: users-help@felix.apache.org
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>>>> For additional commands, e-mail: users-help@felix.apache.org
>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>>> For additional commands, e-mail: users-help@felix.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>> For additional commands, e-mail: users-help@felix.apache.org
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org