maven-bundle-plugin 失败 "Invalid class file module-info.class"
maven-bundle-plugin fails with "Invalid class file module-info.class"
添加包含 JPMS 模块的依赖项后,maven-bundle-plugin(版本 3.3.0)失败并显示:
[INFO] --- maven-bundle-plugin:3.3.0:bundle (default-bundle) @ my-bundle ---
[ERROR] Bundle myGroup:my-bundle:bundle:1.0 :
Exception: java.lang.ArrayIndexOutOfBoundsException: 19
[ERROR] Bundle myGroup:my-bundle:bundle:1.0 :
Invalid class file module-info.class (java.lang.ArrayIndexOutOfBoundsException: 19)
插件似乎试图(但失败了)分析模块-info.class,这在 OSGi 上下文中应该是无关紧要的。
将捆绑插件升级到版本 3.5.0 解决了问题:
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.5.0</version>
</plugin>
我还必须将 maven 升级到 3.5,因为最新版本的插件在 maven 3.3 上引发了 NPE:
Failed to execute goal org.apache.felix:maven-bundle-plugin:3.5.0:bundle (default-bundle) on project my-bundle: Execution default-bundle of goal org.apache.felix:maven-bundle-plugin:3.5.0:bundle failed. NullPointerException
另见 FELIX-5698
更新:请在 maven central. The latest version of maven can be found at their download page.
检查捆绑插件的最新版本
如果您使用的是 IntelliJ,尽管您的 maven 配置由于这个问题而处于最新状态,但仍可能会出现此问题:
https://youtrack.jetbrains.com/issue/IDEA-194358
解决方法是关闭 Osmorc 插件
我也遇到了同样的问题。玩了很多之后,我发现根本原因是uber-jar。 YMMV.
添加包含 JPMS 模块的依赖项后,maven-bundle-plugin(版本 3.3.0)失败并显示:
[INFO] --- maven-bundle-plugin:3.3.0:bundle (default-bundle) @ my-bundle ---
[ERROR] Bundle myGroup:my-bundle:bundle:1.0 :
Exception: java.lang.ArrayIndexOutOfBoundsException: 19
[ERROR] Bundle myGroup:my-bundle:bundle:1.0 :
Invalid class file module-info.class (java.lang.ArrayIndexOutOfBoundsException: 19)
插件似乎试图(但失败了)分析模块-info.class,这在 OSGi 上下文中应该是无关紧要的。
将捆绑插件升级到版本 3.5.0 解决了问题:
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.5.0</version>
</plugin>
我还必须将 maven 升级到 3.5,因为最新版本的插件在 maven 3.3 上引发了 NPE:
Failed to execute goal org.apache.felix:maven-bundle-plugin:3.5.0:bundle (default-bundle) on project my-bundle: Execution default-bundle of goal org.apache.felix:maven-bundle-plugin:3.5.0:bundle failed. NullPointerException
另见 FELIX-5698
更新:请在 maven central. The latest version of maven can be found at their download page.
检查捆绑插件的最新版本如果您使用的是 IntelliJ,尽管您的 maven 配置由于这个问题而处于最新状态,但仍可能会出现此问题: https://youtrack.jetbrains.com/issue/IDEA-194358
解决方法是关闭 Osmorc 插件
我也遇到了同样的问题。玩了很多之后,我发现根本原因是uber-jar。 YMMV.