ClassNotFoundException: org.codehaus.plexus.compiler.manager.NoSuchCompilerException
目录
1、Maven项目编译打包报错
2、查看 maven-compiler-plugin 版本配置
3、分析IDEA构建错误信息
4、验证maven-compiler-plugin版本兼容性
5、搜索maven-compiler-plugin最新版本
运行环境:
- Windows-7-Ultimate-x64
- OracleJDK-1.8_u201
- IntelliJ IDEA Community Edition 2022.2.3
- Maven-3.6.3
- maven-complier-plugin-3.5、maven-complier-plugin-3.5.1、maven-complier-plugin-3.10.1
1、Maven项目编译打包报错
构建日志错误信息如下:
[INFO] --- maven-compiler-plugin:3.5.1:compile (default-compile) @ weixin-graal ---
[WARNING] Error injecting: org.apache.maven.plugin.compiler.CompilerMojo
java.lang.NoClassDefFoundError: org/codehaus/plexus/compiler/manager/NoSuchCompilerExceptionat java.lang.Class.getDeclaredConstructors0 (Native Method)at java.lang.Class.privateGetDeclaredConstructors (Class.java:2671)at java.lang.Class.getDeclaredConstructors (Class.java:2020)at com.google.inject.spi.InjectionPoint.forConstructorOf (InjectionPoint.java:245)at com.google.inject.internal.ConstructorBindingImpl.create (ConstructorBindingImpl.java:115)at com.google.inject.internal.InjectorImpl.createUninitializedBinding (InjectorImpl.java:706)at com.google.inject.internal.InjectorImpl.createJustInTimeBinding (InjectorImpl.java:929)at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive (InjectorImpl.java:852)at com.google.inject.internal.InjectorImpl.getJustInTimeBinding (InjectorImpl.java:291)at com.google.inject.internal.InjectorImpl.getBindingOrThrow (InjectorImpl.java:222)at com.google.inject.internal.InjectorImpl.getProviderOrThrow (InjectorImpl.java:1040)at com.google.inject.internal.InjectorImpl.getProvider (InjectorImpl.java:1071)at com.google.inject.internal.InjectorImpl.getProvider (InjectorImpl.java:1034)at com.google.inject.internal.InjectorImpl.getInstance (InjectorImpl.java:1086)at org.eclipse.sisu.space.AbstractDeferredClass.get (AbstractDeferredClass.java:48)at com.google.inject.internal.ProviderInternalFactory.provision (ProviderInternalFactory.java:85)at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision (InternalFactoryToInitializableAdapter.java:57)at com.google.inject.internal.ProviderInternalFactory$1.call (ProviderInternalFactory.java:66)at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision (ProvisionListenerStackCallback.java:112)at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision (ProvisionListenerStackCallback.java:127)at com.google.inject.internal.ProvisionListenerStackCallback.provision (ProvisionListenerStackCallback.java:66)at com.google.inject.internal.ProviderInternalFactory.circularGet (ProviderInternalFactory.java:61)at com.google.inject.internal.InternalFactoryToInitializableAdapter.get (InternalFactoryToInitializableAdapter.java:47)at com.google.inject.internal.InjectorImpl$1.get (InjectorImpl.java:1050)at org.eclipse.sisu.inject.Guice4$1.get (Guice4.java:162)at org.eclipse.sisu.inject.LazyBeanEntry.getValue (LazyBeanEntry.java:81)at org.eclipse.sisu.plexus.LazyPlexusBean.getValue (LazyPlexusBean.java:51)at org.codehaus.plexus.DefaultPlexusContainer.lookup (DefaultPlexusContainer.java:263)at org.codehaus.plexus.DefaultPlexusContainer.lookup (DefaultPlexusContainer.java:255)at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo (DefaultMavenPluginManager.java:519)at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:124)at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)at org.apache.maven.cli.MavenCli.execute (MavenCli.java:954)at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)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:498)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)at org.codehaus.classworlds.Launcher.main (Launcher.java:47)
Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.compiler.manager.NoSuchCompilerExceptionat org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass (SelfFirstStrategy.java:50)at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass (ClassRealm.java:271)at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass (ClassRealm.java:247)at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass (ClassRealm.java:239)at java.lang.Class.getDeclaredConstructors0 (Native Method)at java.lang.Class.privateGetDeclaredConstructors (Class.java:2671)at java.lang.Class.getDeclaredConstructors (Class.java:2020)at com.google.inject.spi.InjectionPoint.forConstructorOf (InjectionPoint.java:245)at com.google.inject.internal.ConstructorBindingImpl.create (ConstructorBindingImpl.java:115)at com.google.inject.internal.InjectorImpl.createUninitializedBinding (InjectorImpl.java:706)at com.google.inject.internal.InjectorImpl.createJustInTimeBinding (InjectorImpl.java:929)at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive (InjectorImpl.java:852)at com.google.inject.internal.InjectorImpl.getJustInTimeBinding (InjectorImpl.java:291)at com.google.inject.internal.InjectorImpl.getBindingOrThrow (InjectorImpl.java:222)at com.google.inject.internal.InjectorImpl.getProviderOrThrow (InjectorImpl.java:1040)at com.google.inject.internal.InjectorImpl.getProvider (InjectorImpl.java:1071)at com.google.inject.internal.InjectorImpl.getProvider (InjectorImpl.java:1034)at com.google.inject.internal.InjectorImpl.getInstance (InjectorImpl.java:1086)at org.eclipse.sisu.space.AbstractDeferredClass.get (AbstractDeferredClass.java:48)at com.google.inject.internal.ProviderInternalFactory.provision (ProviderInternalFactory.java:85)at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision (InternalFactoryToInitializableAdapter.java:57)at com.google.inject.internal.ProviderInternalFactory$1.call (ProviderInternalFactory.java:66)at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision (ProvisionListenerStackCallback.java:112)at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision (ProvisionListenerStackCallback.java:127)at com.google.inject.internal.ProvisionListenerStackCallback.provision (ProvisionListenerStackCallback.java:66)at com.google.inject.internal.ProviderInternalFactory.circularGet (ProviderInternalFactory.java:61)at com.google.inject.internal.InternalFactoryToInitializableAdapter.get (InternalFactoryToInitializableAdapter.java:47)at com.google.inject.internal.InjectorImpl$1.get (InjectorImpl.java:1050)at org.eclipse.sisu.inject.Guice4$1.get (Guice4.java:162)at org.eclipse.sisu.inject.LazyBeanEntry.getValue (LazyBeanEntry.java:81)at org.eclipse.sisu.plexus.LazyPlexusBean.getValue (LazyPlexusBean.java:51)at org.codehaus.plexus.DefaultPlexusContainer.lookup (DefaultPlexusContainer.java:263)at org.codehaus.plexus.DefaultPlexusContainer.lookup (DefaultPlexusContainer.java:255)at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo (DefaultMavenPluginManager.java:519)at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:124)at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)at org.apache.maven.cli.MavenCli.execute (MavenCli.java:954)at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)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:498)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)at org.codehaus.classworlds.Launcher.main (Launcher.java:47)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
2、查看 maven-compiler-plugin 版本配置
项目配置的版本 maven-compiler-plugin-3.5.1
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.5.1</version><configuration><source>${maven.compiler.source}</source><target>${maven.compiler.target}</target><proc>none</proc></configuration></plugin></plugins>
</build>
3、分析IDEA构建错误信息
通过对日志分析,可以找到如下关键错误
[WARNING] Error injecting: org.apache.maven.plugin.compiler.CompilerMojo
java.lang.NoClassDefFoundError: org/codehaus/plexus/compiler/manager/NoSuchCompilerException……
Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.compiler.manager.NoSuchCompilerException
……
4、验证maven-compiler-plugin版本兼容性
根据经验,确认为 maven-compiler-plugin 版本兼容性引起。
经过多版本验证,发现无论是降到 3.5 版本,还是升级到 3.6.2、3.10.1 版本,都可以正常打包,只在 3.5.1 会报错,可以确认 3.5.1 存在兼容性bug。
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><!--<version>3.5</version>--><!--<version>3.5.1</version>--><!-- 3.5.1与其他版本不兼容 --><!--<version>3.6.2</version>--><version>3.10.1</version><configuration><source>${maven.compiler.source}</source><target>${maven.compiler.target}</target><proc>none</proc></configuration></plugin></plugins>
</build>
5、搜索maven-compiler-plugin最新版本
登录 阿里云云效Maven中央仓库,搜索 maven-compiler-plugin 最新版本。
附录:
- WxJava - 微信开发 Java SDK,支持微信支付、开放平台、公众号、企业号/企业微信、小程序等 - Gitee.com
ClassNotFoundException: org.codehaus.plexus.compiler.manager.NoSuchCompilerException相关推荐
- java.lang.NoClassDefFoundError: org/codehaus/plexus/compiler/manager/NoSuchCompilerException
去掉compiler插件的版本号.ok,不报错了,再不行用下面博客的方法更换maven版本.. 参考资料
- ClassNotFoundException: org.codehaus.plexus.logging.LoggerManager
ClassNotFoundException: org.codehaus.plexus.logging.LoggerManager 执行mvn -v 报错 原因: IDEA 和 Maven 版本冲突带 ...
- Idea Maven ReImport 报错NoClassDefFoundError: org/codehaus/plexus/util/StringUtils
错误信息 2019-09-19 19:04:02,786 [ 960431] INFO - #org.jetbrains.idea.maven - java.rmi.ServerError: Erro ...
- java.lang.RuntimeException: java.lang.RuntimeException: org.codehaus.plexus.component.repository.exc
我用的是Intellij IDEA 2021版本,配的Maven版本为3.8.5版本,创建Maven工程时会报如下错误: java.lang.RuntimeException: java.lang.R ...
- 已解决java.lang.RuntimeException: java.lang.RuntimeException: org.codehaus.plexus.component.repository.
已解决java.lang.RuntimeException: java.lang.RuntimeException: org.codehaus.plexus.component.repository. ...
- java.lang.ClassNotFoundException: org.codehaus.jackson.JsonProcessingException 异常解决方案
在SpringMVC中使用Jackson实现json输出时配置如下: <!-- 输出对象转JSON支持 --> <bean id="stringConverter" ...
- org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)
问题:创建spring boot项目时, pom.xml报错org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)问题 ...
- pom.xml错误:org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)的解决方法
pom.xml错误:org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)的解决方法 参考文章: (1)pom.xml ...
- org.codehaus.janino.CompilerFactory cannot be cast to org.codehaus.commons.compiler.ICompilerFactory
问题是在Flink SQL Client中碰到的 Flink SQL> select * from orders; [ERROR] Could not execute SQL statement ...
最新文章
- 区块链挖矿的钱从哪来 区块链挖矿怎么挣钱
- 工作183:动态渲染数据 数据在数字字典里面
- Nat Commun|单细胞ATAC-seq深度学习工具包AtacWorks,简单、高效且适用
- 信息学奥赛一本通 1143:最长最短单词 | OpenJudge NOI 1.7 25
- react admin项目部署到tomcat_一个tomcat同时部署多个项目
- 层次结构类毕业论文文献都有哪些?
- jUI项目最初的名字为DWZ,这个名字是怎么来的?后来为什么又改为jUI?
- 一个直播例子:快速集成iOS基于RTMP的视频推流
- 杰出人物的四大法宝——与成功学大师对话
- Uni-app API
- MT7628 OpenWRT21 SIM8202驱动ppp拨号rndis拨号
- uni-app时间格式转换
- win+D无法回到桌面
- 在 unity中可以使用的直接设置音量大小的方法
- 企业oa管理系统是什么
- AI同传变革性进展:搜狗同传3.0首创语境引擎,让机器具有理解、推理能力
- 一文读懂大唐杯所有名词解释
- java读取通达信day_Go读取通达信历史日线数据
- 5月底被裁,6月拿到赔偿和工资,下家公司要求提供近半年银行流水来定薪,能不能只提供钱最多的6月流水?...
- kettle - get请求