Java ArrayIndexOutOfBoundsException在使用minimizeJar选项创建着色jar时
我在使用maven shade插件创建着色jar时遇到了错误。我尝试用mvnDebug调试错误,但没有任何帮助。我的最终目标是最小化罐子的大小。除内贾尔之外的任何其他选择也受到欢迎 提前谢谢Java ArrayIndexOutOfBoundsException在使用minimizeJar选项创建着色jar时,java,maven,jar,Java,Maven,Jar,我在使用maven shade插件创建着色jar时遇到了错误。我尝试用mvnDebug调试错误,但没有任何帮助。我的最终目标是最小化罐子的大小。除内贾尔之外的任何其他选择也受到欢迎 提前谢谢 Error creating shaded jar: 6952 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) at org.apache.maven.lifecycle.i
Error creating shaded jar: 6952
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:582)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error creating shaded jar: 6952
at org.apache.maven.plugins.shade.mojo.ShadeMojo.execute(ShadeMojo.java:551)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 19 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 6952
at org.objectweb.asm.ClassReader.readClass(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.objectweb.asm.ClassReader.accept(Unknown Source)
at org.vafer.jdependency.Clazzpath.addClazzpathUnit(Clazzpath.java:94)
at org.apache.maven.plugins.shade.filter.MinijarFilter.<init>(MinijarFilter.java:76)
at org.apache.maven.plugins.shade.mojo.ShadeMojo.getFilters(ShadeMojo.java:745)
at org.apache.maven.plugins.shade.mojo.ShadeMojo.execute(ShadeMojo.java:471)
... 21 more
创建着色jar时出错:6952
位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
位于org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
位于org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
位于org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
位于org.apache.maven.cli.MavenCli.execute(MavenCli.java:582)
位于org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
位于org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:483)
位于org.codehaus.plexus.classworlds.launcher.launcher.launchEnhanced(launcher.java:289)
位于org.codehaus.plexus.classworlds.launcher.launcher.launch(launcher.java:229)
位于org.codehaus.plexus.classworlds.launcher.launcher.mainWithExitCode(launcher.java:415)
位于org.codehaus.plexus.classworlds.launcher.launcher.main(launcher.java:356)
原因:org.apache.maven.plugin.MojoExecutionException:创建着色jar时出错:6952
位于org.apache.maven.plugins.shade.mojo.ShadeMojo.execute(ShadeMojo.java:551)
位于org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 还有19个
原因:java.lang.ArrayIndexOutOfBoundsException:6952
位于org.objectweb.asm.ClassReader.readClass(未知源)
位于org.objectweb.asm.ClassReader.accept(未知源)
位于org.objectweb.asm.ClassReader.accept(未知源)
位于org.vafer.jdependency.Clazzpath.addClazzpathUnit(Clazzpath.java:94)
位于org.apache.maven.plugins.shade.filter.MinijarFilter.(MinijarFilter.java:76)
位于org.apache.maven.plugins.shade.mojo.ShadeMojo.getFilters(ShadeMojo.java:745)
位于org.apache.maven.plugins.shade.mojo.ShadeMojo.execute(ShadeMojo.java:471)
... 还有21个
升级您的shade插件版本。我在版本2.2中遇到了异常,在vresion 3.0.0中解决了它。这是一个你很可能遇到了一个使用shade插件的bug,因此应该报告它。当然,还有所有相关的代码,以及您正在使用的maven版本和shade插件的确切版本。另外,尝试一下。转移到gradle无法立即完成(不是我自己的项目)。所以我们至少要在maven上生活一段时间。我遇到这个问题是因为我使用的是maven Shade插件的旧版本(1.7,已经过时多年)。我通过将插件更改为最新的稳定版本解决了这个问题。