IDEA配置JDK、Maven 常见错误总结
IDEA配置JDK、Maven 常見錯誤總結(jié)今天開始分享,新的項目要求更高版本的配置,比如要求JDK版本為11,或者新下載的項目JDK版本為11,而自己本地環(huán)境的是1.8版本的,依次需要升級版本到11。
1、問題產(chǎn)生的原因分析,啟動新下載的項目時報錯如下:
Error:(49, 86) java: 無法推斷com.fasterxml.jackson.core.type.TypeReference<T>的類型參數(shù)原因: -source 8 中不支持 '<>' 具有匿名的內(nèi)部類(請使用 -source 9 或更高版本以啟用 '<>' 具有匿名的內(nèi)部類)顯然我IDEA上配置的JDK版本8 比較低,至少應(yīng)該是9。其實點擊紅色代碼出可以在pom文件自動導(dǎo)入以下配置也可以臨時解決:
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>9</source><target>9</target></configuration></plugin>常用考慮,根據(jù)團隊需求我安裝了JDK11,但是發(fā)現(xiàn)還是報同樣的錯誤,于是我就懷疑Maven版本不對。
2、排查解決,查閱版本關(guān)系然后和同事確認了一下,團隊Maven版本為3.8.6,而我的本地配置的是3.3.9,顯然低了很多,于是我下載安裝了3.8.6版本的Maven,各種配置統(tǒng)一之后,有爆出新的錯誤,點擊看到IDEA的日志:
2022-08-29 18:45:21,044 [34871123] ERROR - #org.jetbrains.idea.maven - IntelliJ IDEA 2020.1.2 Build #IU-201.7846.76 2022-08-29 18:45:21,044 [34871123] ERROR - #org.jetbrains.idea.maven - JDK: 11.0.7; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o. 2022-08-29 18:45:21,044 [34871123] ERROR - #org.jetbrains.idea.maven - OS: Windows 10 2022-08-29 18:45:21,048 [34871127] ERROR - #org.jetbrains.idea.maven - Last Action: Maven.Reimport 2022-08-29 18:45:25,492 [34875571] ERROR - #org.jetbrains.idea.maven - java.lang.RuntimeException: org.codehaus.plexus.component.repository.exception.ComponentLookupException: com.google.inject.ProvisionException: Unable to provision, see the following errors:1) Error injecting constructor, java.lang.NoSuchMethodError: org.apache.maven.model.validation.DefaultModelValidator: method 'void <init>()' not foundat org.jetbrains.idea.maven.server.embedder.CustomModelValidator.<init>(Unknown Source)while locating org.jetbrains.idea.maven.server.embedder.CustomModelValidatorat ClassRealm[maven.ext, parent: ClassRealm[plexus.core, parent: null]] (via modules: org.eclipse.sisu.wire.WireModule -> org.eclipse.sisu.plexus.PlexusBindingModule)while locating org.apache.maven.model.validation.ModelValidator annotated with @com.google.inject.name.Named(value="ide")1 errorrole: org.apache.maven.model.validation.ModelValidatorroleHint: ide java.lang.RuntimeException: java.lang.RuntimeException: org.codehaus.plexus.component.repository.exception.ComponentLookupException: com.google.inject.ProvisionException: Unable to provision, see the following errors:1) Error injecting constructor, java.lang.NoSuchMethodError: org.apache.maven.model.validation.DefaultModelValidator: method 'void <init>()' not foundat org.jetbrains.idea.maven.server.embedder.CustomModelValidator.<init>(Unknown Source)while locating org.jetbrains.idea.maven.server.embedder.CustomModelValidatorat ClassRealm[maven.ext, parent: ClassRealm[plexus.core, parent: null]] (via modules: org.eclipse.sisu.wire.WireModule -> org.eclipse.sisu.plexus.PlexusBindingModule)while locating org.apache.maven.model.validation.ModelValidator annotated with @com.google.inject.name.Named(value="ide")1 errorrole: org.apache.maven.model.validation.ModelValidatorroleHint: ideat org.jetbrains.idea.maven.server.Maven3XServerEmbedder.getComponent(Maven3XServerEmbedder.java:489)at org.jetbrains.idea.maven.server.Maven3XServerEmbedder.customizeComponents(Maven3XServerEmbedder.java:578)at org.jetbrains.idea.maven.server.Maven3XServerEmbedder.customize(Maven3XServerEmbedder.java:546)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)顯然發(fā)現(xiàn)maven版本和idea版本不匹配,經(jīng)查閱,idea2020.1使用maven3.8.6會出現(xiàn)報錯情況,換成3.6.3即可,于是下載安裝3.6.3,統(tǒng)一配置后,以上兩個問題迎刃而解,即pom文件不需要新加關(guān)于JDK9的配置,同時都兼容,即JDK11,Maven3.6.3,Idea 為2020版本。
3、如果還有問題,可以在maven的setting.xml 文件里添加配置試試,比如JDK11
<profile> <id>jdk-11</id> <activation> <activeByDefault>true</activeByDefault> <jdk>11</jdk> </activation> <properties> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> <maven.compiler.compilerVersion>11</maven.compiler.compilerVersion> </properties> </profile>JDK1.8 配置:
<profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties></profile>到此、暫時告一段落!
總結(jié)
以上是生活随笔為你收集整理的IDEA配置JDK、Maven 常见错误总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: malloc源码分析(4)--free后
- 下一篇: STC89C52系列单片机的特殊功能寄存