IntelliJ从12版本升级到13版本后,以下maven相关插件无法解决:

org.apache.maven.plugins:maven-clean-plugin:2.4.1
org.apache.maven.plugins:maven-deploy-plugin
org.apache.maven.plugins:maven-install-plugin
org.apache.maven.plugins:maven-site-plugin

在使用IntelliJ 12时,这些不在插件列表中。不知何故,它们在更新后被添加,现在IntelliJ抱怨无法找到它们。我可以在哪里从列表中删除这些插件或通过安装它们来解决问题?

我可以运行maven目标干净和编译没有问题,但配置文件/插件在IDE中显示红色警告。

8年后编辑:也请看看这里所有其他好的答案。公认的答案是一个常见的解决方案,但可能不适用于您或您的IDE版本


当前回答

如果工件无法解决。 进入.m2/存储库目录 并检查你没有这样的文件:

build-helper-maven-plugin-1.10.pom.lastUpdated

如果文件夹中没有任何工件,只需删除它,并尝试在IntelliJ中重新导入。

这些文件的内容如下:

#NOTE: This is an Another internal implementation file, its format can be changed without prior notice.
#Fri Mar 10 10:36:12 CET 2017
@default-central-https\://repo.maven.apache.org/maven2/.lastUpdated=1489138572430
https\://repo.maven.apache.org/maven2/.error=Could not transfer artifact org.codehaus.mojo\:build-helper-maven-plugin\:pom\:1.10 from/to central (https\://repo.maven.apache.org/maven2)\: connect timed out

没有*。lastUpdated文件,IntelliJ(顺便说一下是Eclipse)可以重新加载丢失的内容。

其他回答

从maven工具窗口运行Force重新导入。如果不工作,Invalidate你的缓存(文件> Invalidate缓存)并重新启动。等待IDEA重新索引项目。

检查找不到的插件(maven-site-plugin,maven-resources-plugin) 转到"。m2/repository/org/apache/maven/plugins/ " 删除目录rm -rf plugin-directory-name(例如:rm -rf maven-site-plugin) 从intellij退出项目 重新导入项目 是否重新导入Maven

解释:当你重新导入maven时,它会再次下载所有丢失的插件。

快乐的编码

尝试将以下代码放入pom.xml中。如果这不起作用,尝试更改<version>2.8.2</version>(可以在maven repo中找到不同的版本)。

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

如果你已经尝试清除你的.m2文件夹,使用“Invalidate Caches”和“Restart”,仔细检查POM文件中的插件声明,那么:

1. 检查IntelliJ Maven配置

Ctrl + Shift +一个 输入“Maven设置” 勾选“使用插件注册表” 再次检查“Maven主路径”和“用户设置文件” 尝试获取额外的日志:将“输出级别”设置为“调试”,然后单击“应用”

2. 检查IntelliJ Java配置

Ctrl + Shift +一个 输入“进口” 仔细检查“JDK for importer”中使用的JDK

3.更新cacerts keystore文件

请确保您信任远程Maven存储库的TLS服务器证书。为此,将公共证书添加到/path/to/jdk/jre/lib/security/下的cacerts密钥存储库(例如使用https://keystore-explorer.org/) -默认密码为“changeit”

如果你不能编辑文件:

Ctrl + Shift +一个 输入“进口” 更新“导入器的虚拟机选项”-Djavax.net.ssl.trustStore=/path/to/cacerts -Djavax.net.ssl.trustStorePassword=changeit然后单击“应用”

这些方法对我来说都没用。在经历了痛苦的几个小时后,我发现这个问题是由我导入项目的方式引起的。

上下文:导入带有Web和Kafka依赖项的新生成的Spring Initializr项目。

问题:插件依赖“未找到”,IntelliJ无法编译应用程序,即使mvn清洁编译在控制台上运行良好。

坏的方法:使用“New > Project from Existing Sources…”选项导入它。

好的方法是:使用“Open…”选项导入它。

从坏到好的解决方案:删除项目,从版本控制中删除并重新克隆repo,以确保所有gitignored IntelliJ文件都被删除,并使用“Open…”选项将其导入IntelliJ。