目录

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.23.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相关推荐

  1. java.lang.NoClassDefFoundError: org/codehaus/plexus/compiler/manager/NoSuchCompilerException

    去掉compiler插件的版本号.ok,不报错了,再不行用下面博客的方法更换maven版本.. 参考资料

  2. ClassNotFoundException: org.codehaus.plexus.logging.LoggerManager

    ClassNotFoundException: org.codehaus.plexus.logging.LoggerManager 执行mvn -v 报错 原因: IDEA 和 Maven 版本冲突带 ...

  3. 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 ...

  4. 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 ...

  5. 已解决java.lang.RuntimeException: java.lang.RuntimeException: org.codehaus.plexus.component.repository.

    已解决java.lang.RuntimeException: java.lang.RuntimeException: org.codehaus.plexus.component.repository. ...

  6. java.lang.ClassNotFoundException: org.codehaus.jackson.JsonProcessingException 异常解决方案

    在SpringMVC中使用Jackson实现json输出时配置如下: <!-- 输出对象转JSON支持 --> <bean id="stringConverter" ...

  7. org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)

    问题:创建spring boot项目时, pom.xml报错org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)问题 ...

  8. 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 ...

  9. 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 ...

最新文章

  1. c语言仓库管理系统链表,仓库管理系统 C语言 C++ 数据结构 链表 课程设计
  2. Webpack基础之输出
  3. 解决`向github提交代码是老要输入用户名密码`
  4. azure机器学习_如何在Azure机器学习中使用JSON数据
  5. maven的基础入门
  6. 中国数字绘图板行业市场供需与战略研究报告
  7. IntelliJ IDEA设置代码提示(常用快捷键)
  8. git 创建和合并分支
  9. Kali渗透测试:使用Word宏病毒进行渗透攻击
  10. 数据结构、算法、程序的关系
  11. 树莓派4b安装Android TV 10
  12. MyBatisPlus-基础CRUD操作
  13. .NET发邮件(验证码)
  14. python 写入Excel
  15. switch调函数 vue_vue3中轻松实现switch功能组件的全过程
  16. 高通芯片联机读取修改串码 meid ESN wifi 蓝牙 sn等参数的操作解析{二}
  17. 【摘要】STC系列单片机ISP编程器/烧录器的说明
  18. docker是干什么的,docker常用命令每日一练
  19. socket聊天室实现-群聊,私聊,好友列表,完整版
  20. cadlisp框选打印_我有好多CAD图纸要打印,一张一张的选取打印太麻烦了,请教高手有没有什么好的办法帮小弟一下、!..十分感...

热门文章

  1. xxl-job学习,基本测试1
  2. strtod、strtof、strtold笔记
  3. 搜索引擎优化技巧解读
  4. vue网页预加载页面_页面预加载效果
  5. MySQL数据库基础知识,基础操作详细整理
  6. [ES]-Elastic数据类型和cat命令
  7. Vue调用摄像头录制视频和音频并上传给后端或下载到本地
  8. java map tostring_Map转为String
  9. clickhouse-backup 备份恢复测试
  10. 【转】【2020】ACM在线模版(强烈推荐~)