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: Error occurred in server thread; nested exception is: 
	java.lang.NoClassDefFoundError: org/codehaus/plexus/util/StringUtils 
java.lang.RuntimeException: java.rmi.ServerError: Error occurred in server thread; nested exception is: 
	java.lang.NoClassDefFoundError: org/codehaus/plexus/util/StringUtils
	at org.jetbrains.idea.maven.server.embedder.Maven2ServerEmbedderImpl$2.fun(Maven2ServerEmbedderImpl.java:304)
	at org.jetbrains.idea.maven.server.embedder.Maven2ServerEmbedderImpl$2.fun(Maven2ServerEmbedderImpl.java:284)
	at com.intellij.util.containers.ContainerUtilRt.mapNotNull(ContainerUtilRt.java:382)
	at org.jetbrains.idea.maven.server.embedder.Maven2ServerEmbedderImpl.resolveProject(Maven2ServerEmbedderImpl.java:284)
	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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
	at sun.rmi.transport.Transport$1.run(Transport.java:200)
	at sun.rmi.transport.Transport$1.run(Transport.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	at java.rmi/sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:283)
	at java.rmi/sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:260)
	at java.rmi/sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)
	at java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:209)
	at java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:161)
	at com.sun.proxy.$Proxy152.resolveProject(Unknown Source)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at com.intellij.execution.rmi.RemoteUtil.invokeRemote(RemoteUtil.java:175)
	at com.intellij.execution.rmi.RemoteUtil.access$200(RemoteUtil.java:38)
	at com.intellij.execution.rmi.RemoteUtil$1$1$1.compute(RemoteUtil.java:156)
	at com.intellij.openapi.util.ClassLoaderUtil.computeWithClassLoader(ClassLoaderUtil.java:45)
	at com.intellij.execution.rmi.RemoteUtil.executeWithClassLoader(RemoteUtil.java:227)
	at com.intellij.execution.rmi.RemoteUtil$1$1.invoke(RemoteUtil.java:153)
	at com.sun.proxy.$Proxy152.resolveProject(Unknown Source)
	at org.jetbrains.idea.maven.server.MavenEmbedderWrapper.lambda$resolveProject$5(MavenEmbedderWrapper.java:115)
	at org.jetbrains.idea.maven.server.RemoteObjectWrapper.performCancelable(RemoteObjectWrapper.java:89)
	at org.jetbrains.idea.maven.server.MavenEmbedderWrapper.resolveProject(MavenEmbedderWrapper.java:113)
	at org.jetbrains.idea.maven.project.MavenProjectReader.resolveProject(MavenProjectReader.java:480)
	at org.jetbrains.idea.maven.project.MavenProjectsTree.doResolve(MavenProjectsTree.java:1340)
	at org.jetbrains.idea.maven.project.MavenProjectsTree.resolve(MavenProjectsTree.java:1262)
	at org.jetbrains.idea.maven.project.MavenProjectsProcessorResolvingTask.perform(MavenProjectsProcessorResolvingTask.java:45)
	at org.jetbrains.idea.maven.project.MavenProjectsProcessor.doProcessPendingTasks(MavenProjectsProcessor.java:140)
	at org.jetbrains.idea.maven.project.MavenProjectsProcessor.access$000(MavenProjectsProcessor.java:33)
	at org.jetbrains.idea.maven.project.MavenProjectsProcessor$2.run(MavenProjectsProcessor.java:114)
	at org.jetbrains.idea.maven.utils.MavenUtil.lambda$runInBackground$5(MavenUtil.java:468)
	at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:294)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.rmi.ServerError: Error occurred in server thread; nested exception is: 
	java.lang.NoClassDefFoundError: org/codehaus/plexus/util/StringUtils
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:388)
	at sun.rmi.transport.Transport$1.run(Transport.java:200)
	at sun.rmi.transport.Transport$1.run(Transport.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.lang.Thread.run(Thread.java:834)
	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:283)
	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:260)
	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)
	at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227)
	at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179)
	at com.sun.proxy.$Proxy3.artifactDownloaded(Unknown Source)
	at org.jetbrains.idea.maven.server.embedder.TransferListenerAdapter.transferCompleted(TransferListenerAdapter.java:78)
	at org.apache.maven.wagon.events.TransferEventSupport.fireTransferCompleted(TransferEventSupport.java:141)
	at org.apache.maven.wagon.AbstractWagon.fireGetCompleted(AbstractWagon.java:519)
	at org.apache.maven.wagon.AbstractWagon.getTransfer(AbstractWagon.java:319)
	at org.apache.maven.wagon.AbstractWagon.getTransfer(AbstractWagon.java:276)
	at org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:97)
	at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61)
	at org.apache.maven.artifact.manager.DefaultWagonManager.getRemoteFile(DefaultWagonManager.java:546)
	at org.apache.maven.artifact.manager.DefaultWagonManager.getArtifact(DefaultWagonManager.java:427)
	at org.jetbrains.idea.maven.server.embedder.CustomWagonManager.getArtifact(CustomWagonManager.java:79)
	at org.apache.maven.artifact.manager.DefaultWagonManager.getArtifact(DefaultWagonManager.java:382)
	at org.jetbrains.idea.maven.server.embedder.CustomWagonManager.getArtifact(CustomWagonManager.java:62)
	at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:216)
	at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:90)
	at org.jetbrains.idea.maven.server.embedder.CustomArtifactResolver.resolve(CustomArtifactResolver.java:51)
	at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:558)
	at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromRepository(DefaultMavenProjectBuilder.java:251)
	at org.apache.maven.project.artifact.MavenMetadataSource.retrieveRelocatedProject(MavenMetadataSource.java:163)
	at org.apache.maven.project.artifact.MavenMetadataSource.retrieveRelocatedArtifact(MavenMetadataSource.java:94)
	at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:387)
	at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:435)
	at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:435)
	at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:435)
	at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:435)
	at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:435)
	at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:435)
	at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:435)
	at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:435)
	at org.apache.maven.artifact.resolver.DefaultArtifactCollector.collect(DefaultArtifactCollector.java:74)
	at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:316)
	at org.jetbrains.maven.embedder.MavenEmbedder.resolveProject(MavenEmbedder.java:217)
	at org.jetbrains.idea.maven.server.embedder.Maven2ServerEmbedderImpl$2$1.execute(Maven2ServerEmbedderImpl.java:292)
	at org.jetbrains.idea.maven.server.embedder.Maven2ServerEmbedderImpl$2$1.execute(Maven2ServerEmbedderImpl.java:288)
	at org.jetbrains.idea.maven.server.embedder.Maven2ServerEmbedderImpl$6.run(Maven2ServerEmbedderImpl.java:587)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: org/codehaus/plexus/util/StringUtils
	at org.sonatype.nexus.index.DefaultArtifactContextProducer.getArtifactContext(DefaultArtifactContextProducer.java:96)
	at org.jetbrains.idea.maven.server.embedder.Maven2ServerIndexerImpl.addArtifact(Maven2ServerIndexerImpl.java:263)
	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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
	at sun.rmi.transport.Transport$1.run(Transport.java:200)
	at sun.rmi.transport.Transport$1.run(Transport.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
	... 3 more
Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.util.StringUtils
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 19 more

問題分析

很明顯,找不到類。誰找不到,是maven,還是Idea,還是java?

首先,這個類在,org.codehaus.plexus:plexus-utils 這個jar包裏面。比如:plexus-utils-3.2.1.jar,idea的lib目錄下有,maven的lib目錄下沒有,JAVA的lib下也沒有。
其次,只會在使用maven 2.2.1 的時候出現,maven3以上沒有這個問題。
最後,maven reimport,那麼主角應該是maven的目錄。

問題解決

嘗試將plexus-utils-3.2.1.jar複製到maven2.2.1/lib 目錄下解決(由於2019.x版本的idea已經不帶maven2了,這裏的maven2是你自己的maven2目錄)。

看一下命令行,可以看到,maven reimport已經在classpath加上了jar包。

502 3827 3711 0 7:30下午 ?? 7:16.84 /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/bin/java -Djava.awt.headless=true -Dmaven.defaultProjectBuilder.disableGlobalModelCache=true -Xmn8192m -Xmx12288m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=1024m -Dadmin.maven=reimport -Didea.maven.embedder.version=2.2.1 -Dfile.encoding=UTF-8 -classpath /Applications/IntelliJ IDEA.app/Contents/lib/resources_en.jar:/Applications/IntelliJ IDEA.app/Contents/lib/log4j.jar:/Applications/IntelliJ IDEA.app/Contents/lib/slf4j-api-1.7.25.jar:/Applications/IntelliJ IDEA.app/Contents/lib/slf4j-log4j12-1.7.25.jar:/Applications/IntelliJ IDEA.app/Contents/lib/util.jar:/Applications/IntelliJ IDEA.app/Contents/lib/annotations.jar:/Applications/IntelliJ IDEA.app/Contents/lib/jdom.jar:/Applications/IntelliJ IDEA.app/Contents/lib/trove4j.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/lucene-core-2.4.1.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven-server-api.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven2-server-impl.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven2-server-lib/mercury-artifact-1.0-alpha-6.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven2-server-lib/commons-beanutils.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven2-server-lib/archetype-common-2.0-alpha-4-SNAPSHOT.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven2-server-lib/maven-dependency-tree-1.2.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven2-server-lib/nexus-indexer-1.2.3.jar:/Users/admin/devtools/apache-maven-2.2.1/lib/maven-2.2.1-uber.jar:/Users/admin/devtools/apache-maven-2.2.1/lib/plexus-utils-3.2.1.jar:/Users/admin/devtools/apache-maven-2.2.1/boot/classworlds-1.1.jar org.jetbrains.idea.maven.server.RemoteMavenServer

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章