【问题标题】:Cannot resolve plugs-ins in Intellij after upgrading to version 2019.3 (CE)升级到版本 2019.3 (CE) 后无法解析 Intellij 中的插件
【发布时间】:2020-03-25 01:15:39
【问题描述】:

我刚刚将 Intellij 从版本 2019.2.x 升级到 2019.3,但在我的 Java 项目中遇到以下 Maven 插件错误。

Cannot resolve plugin org.codehaus.mojo:exec-maven-plugin:1.6.0
Cannot resolve plugin org.apache.maven.plugins:maven-resources-plugin:3.1.0

以下是列出的 Maven(我刚刚从 3.6.0 升级到 3.6.3)和 Java v11 的版本。

> Apache Maven 3.6.3  Maven home: /usr/local/Cellar/maven/3.6.3/libexec
> Java version: 11.0.2, vendor: Oracle Corporation, runtime:
/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home Default
locale: en_GB, platform encoding: UTF-8 OS name: "mac os x", version:
"10.15.1", arch: "x86_64", family: "mac"

以下是 intellij 日志文件 (idea.log) 的摘录

2019-11-29 13:05:06,759 [4279936]   INFO - pl.ProjectRootManagerComponent - project roots have changed 
2019-11-29 13:05:06,794 [4279971]   INFO - .diagnostic.PerformanceWatcher - Pushing properties took 4ms; general responsiveness: ok; EDT responsiveness: ok 
2019-11-29 13:05:06,815 [4279992]   INFO - .diagnostic.PerformanceWatcher - Indexable file iteration took 20ms; general responsiveness: ok; EDT responsiveness: ok 
2019-11-29 13:05:07,480 [4280657]   INFO -      #org.jetbrains.idea.maven - org.apache.maven.plugin.PluginResolutionException: Plugin org.codehaus.mojo:exec-maven-plugin:1.6.0 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.codehaus.mojo:exec-maven-plugin:jar:1.6.0 
java.lang.RuntimeException: org.apache.maven.plugin.PluginResolutionException: Plugin org.codehaus.mojo:exec-maven-plugin:1.6.0 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.codehaus.mojo:exec-maven-plugin:jar:1.6.0
	at org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver.resolve(DefaultPluginDependenciesResolver.java:120)
	at org.jetbrains.idea.maven.server.Maven3XServerEmbedder.resolvePlugin(Maven3XServerEmbedder.java:1161)
	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 java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359)
	at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
	at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
	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.lang.RuntimeException: org.eclipse.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for org.codehaus.mojo:exec-maven-plugin:jar:1.6.0
	at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:255)
	at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:171)
	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.readArtifactDescriptor(DefaultRepositorySystem.java:255)
	at org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver.resolve(DefaultPluginDependenciesResolver.java:106)
	... 18 more
Caused by: java.lang.RuntimeException: org.eclipse.aether.resolution.ArtifactResolutionException: Failure to transfer org.codehaus.mojo:exec-maven-plugin:pom:1.6.0 from https://nexus.xxisp.yyyyyy.net/repository/public/ was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced. Original error: Could not transfer artifact org.codehaus.mojo:exec-maven-plugin:pom:1.6.0 from/to nexus (https://nexus.xxisp.yyyyyy.net/repository/public/): Connect to nexus.xxisp.yyyyyy.net:443 [nexus.xxisp.yyyyyy.net/81.135.143.77] failed: Operation timed out (Connection timed out)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:424)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:229)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:207)
	at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:240)
	... 21 more
Caused by: java.lang.RuntimeException: org.eclipse.aether.transfer.ArtifactTransferException: Failure to transfer org.codehaus.mojo:exec-maven-plugin:pom:1.6.0 from https://nexus.xxisp.yyyyyy.net/repository/public/ was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced. Original error: Could not transfer artifact org.codehaus.mojo:exec-maven-plugin:pom:1.6.0 from/to nexus (https://nexus.xxisp.yyyyyy.net/repository/public/): Connect to nexus.xxisp.yyyyyy.net:443 [nexus.xxisp.yyyyyy.net/81.135.143.77] failed: Operation timed out (Connection timed out)
	at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:225)
	at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:193)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.java:559)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:483)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:401)
	... 24 more

有谁知道如何调试并更好地修复它?

更新: 我现在已经设法解决了这个问题。我认为问题在于,虽然在我进行升级时我已连接到互联网,但我没有连接到我的公司 VPN(因为我那天在家工作),这可能导致查找我公司的 NEXUS 回购失败。后来,当我确实连接到 VPN 时,由于某种原因,Maven 无法重新同步插件。所以这个问题根本与 Intellij 升级无关。我希望这种解决这些类型错误的技术可以帮助其他人。

【问题讨论】:

  • 试试这个question,也许你会在那里找到答案
  • @Artur 谢谢。我确实看到了这篇文章并试图从 m2.xml 中删除 maven-site-plugins 目录。目录。然后我重新同步 Maven 但仍然收到错误。我还尝试过使缓存无效并重新启动 Intellij,但到目前为止没有运气。

标签: java maven-3 intellij-plugin


【解决方案1】:

这篇帖子gist/github 帮助我解决了这两个问题。

1/Cannot resolve plugin org.codehaus.mojo:exec-maven-plugin:1.6.0

我在 .m2 目录中找到了这个插件的入口,

/Users/my-user/.m2/repository/org/codehaus/mojo/exec-maven-plugin/1.6.0

我删除了这个条目并从 Intellij 中重新同步了 Maven。这次好像没事了。

我设法使用相同的方法修复了第二个错误,

2/Cannot resolve plugin org.apache.maven.plugins:maven-resources-plugin:3.1.0

这个插件位于,

/Users/my-user/.m2/repository/org/apache/maven/plugins/maven-resources-plugin/3.1.0

我也删除了这个条目,然后在 Intellij 中重新同步了另一个 Maven,这也有效。

【讨论】:

    猜你喜欢
    • 2017-09-26
    • 2022-12-21
    • 1970-01-01
    • 1970-01-01
    • 2022-06-24
    • 1970-01-01
    • 2021-03-11
    • 2022-07-23
    • 1970-01-01
    相关资源
    最近更新 更多