Aem maven scr插件因SCRDescriptorException而失败;无法扫描文件。。。ASM可能不支持类文件格式;

Aem maven scr插件因SCRDescriptorException而失败;无法扫描文件。。。ASM可能不支持类文件格式;,aem,apache-felix,maven-scr-plugin,Aem,Apache Felix,Maven Scr Plugin,使用以下依赖项(除其他外,捆绑包应安装到AEM 6.1) 运行时是java8 maven scr插件1.15.0 org.apache.felix.scr.annotations:1.9.8 org.apache.felix.scr.ds-annotations:1.2.8 我得到这个例外 原因:org.apache.felix.scrplugin.SCRDescriptorException:无法扫描类文件:。。。 (ASM可能不支持类文件格式?) 位于org.apache.felix.s

使用以下依赖项(除其他外,捆绑包应安装到AEM 6.1)

运行时是java8

  • maven scr插件1.15.0
  • org.apache.felix.scr.annotations:1.9.8
  • org.apache.felix.scr.ds-annotations:1.2.8
我得到这个例外

原因:org.apache.felix.scrplugin.SCRDescriptorException:无法扫描类文件:。。。 (ASM可能不支持类文件格式?) 位于org.apache.felix.scrplugin.helper.ClassScanner.processClass(ClassScanner.java:219) 位于org.apache.felix.scrplugin.helper.ClassScanner.process(ClassScanner.java:161) 位于org.apache.felix.scrplugin.helper.ClassScanner.scanSources(ClassScanner.java:146) 位于org.apache.felix.scrplugin.SCRDescriptorGenerator.execute(SCRDescriptorGenerator.java:146) 位于org.apache.felix.scrplugin.mojo.SCRDescriptorMojo.execute(SCRDescriptorMojo.java:221) ... 还有22个

原因:java.lang.IllegalArgumentException 位于org.objectweb.asm.ClassReader。(未知来源) 位于org.objectweb.asm.ClassReader。(未知来源) 位于org.objectweb.asm.ClassReader。(未知来源) 位于org.apache.felix.scrplugin.helper.ClassScanner.processClass(ClassScanner.java:201)

所讨论的类根本不包含任何osgi注释,而只是导入到其他一些@Component注释类中


有人遇到过这个问题并找到了解决方案吗?

我今天遇到了这个问题。当您使用scanClasses=true选项运行maven scr插件时,会发生这种情况。maven scr插件的旧版本无法扫描java8生成的类文件。您必须切换到较新版本的scr插件(我已升级到1.22)或将maven编译器插件目标配置设置为1.7

我发现我安装到Intellij上的Felix scr注释处理器插件是使用headwirecom的aem-ide-tooling-4-Intellij的先决条件,这是导致问题的原因。它工作了很长一段时间,直到今天,突然给我带来了运行单元测试的问题(不用说,在我的java、mvn版本或IDE中没有做任何更改)

这迫使我更新我的java版本intellij版本,但没有解决这个问题。但是禁用了SCR注释插件修复了它

正如你所见,这个插件非常古老(2014年)。我希望他们能尽快发布一个新版本