IntelliJ中找不到Maven插件

Spr*_*ing 62 java intellij-idea maven

在我将IntelliJ版本从12更新到13之后,我在Maven Profile/Project/Plugins上看到错误,说明以下插件无法解决:

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
Run Code Online (Sandbox Code Playgroud)

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

我可以运行Maven目标cleancompile没有问题,但配置文件/插件只是看起来都在红与我不喜欢的警告.

Gar*_*lon 33

我在IntelliJ 14.0.1中遇到了同样的问题我可以通过在IntelliJ的maven设置中启用"使用插件注册表"来解决它.

  • 没有解决问题 (31认同)
  • 2022.1 没有为我解决问题 (18认同)
  • 对于 Mac 用户,您可以在“首选项”下找到它。(点击菜单栏上的IntelliJ IDEA -> Preferences)或(Command⌘+,) ->(同上)Build, Execution, Deployment -> Build Tools -> Maven。 (7认同)
  • 有谁知道为什么这不是 Intellij 中的默认设置?默认情况下应启用此功能。 (6认同)
  • @ nil96文件->首选项->构建,执行,部署->构建工具-> Maven (3认同)
  • 使用“无效”和“重新启动”对我有用。我正在使用 IntelIj 2020.03。 (2认同)

Jav*_*aru 20

从maven工具窗口运行强制重新导入.如果这不起作用,请使缓存无效(文件>无效缓存)并重新启动.等待IDEA重新索引项目.

  • @ap 从 Maven 工具窗口中,单击“重新加载所有 Maven 项目”按钮(它是最左边的按钮,看起来像一个圆圈中的两个箭头,很像大多数刷新图标。)它曾经被标记为“重新导入.. .”而不是“重新加载...”,因此为什么在我上面的回答中我说“重新导入”。他们改变了几年前使用的术语。 (5认同)

oli*_*ejp 17

我遇到过同样的问题。我将插件添加到我的 pom.xml 依赖项中,它对我有用。

    <dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>3.3</version>
        <type>maven-plugin</type>
    </dependency>

    <dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
        <version>2.4</version>
        <type>maven-plugin</type>
    </dependency>

    <dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>2.7</version>
        <type>maven-plugin</type>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

  • 值得一提的是,我尝试了所有“上述”答案,然后最终在我的项目 pom.xml 中直接添加声明,这是一个不太理想的解决方案,因为我们必须将 Maven 插件添加到每个新项目中。编辑:我更进一步,现在删除了声明。现在检查错误消失了...... (3认同)
  • 帮助过我。我添加了一次存储库,然后将其删除,然后它运行良好。 (3认同)

Ste*_*gin 15

我使用maven-deploy插件多年来遇到了这个问题,即使我没有在我的POM中直接包含插件,也出现了错误.作为一个解决方案我不得不强制将插件包含一个版本到我的POM插件部分只是为了删除红色波浪形.

在StackOverflow上尝试每个解决方案后,我发现了问题:查看我的.m2/repository/org/apache/maven/plugins/maven-deploy-plugin目录,有一个版本'XY'和'2.8.2'等人.所以我删除了整个maven-deploy-plugin目录,然后重新导入了我的Maven项目.

所以似乎问题是解析存储库时的IJ错误.我不会删除整个仓库,只是报告错误的插件.

  • 好的。由于 IntelliJ 与我公司的代理服务器作斗争,我有一些。终于把他们炸了。谢谢! (4认同)

Wen*_*del 14

在构建站点生命周期后,带有警告maven-site-plugin的红色已解决:

在此处输入图片说明

我的IntelliJ版本是Community 2017.2.4


Joh*_*nes 12

我尝试了其他答案,但没有一个为我解决了这个问题。

当我明确添加groupId这样的问题时,问题就消失了:

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <version>3.1.0</version>
    </plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)

一旦版本号的颜色从红色变为黑色并且问题从Problems选项卡中消失,groupId可以再次从有问题的插件中删除,错误不会再次出现并且版本号甚至显示为version.

  • 这正是对我有用的。然而,仍然无法解释的是这种奇怪行为的原因是什么,特别是考虑到“org.apache.maven.plugins”是[默认值](https://maven.apache.org/ref/3.6.3 /maven-model/maven.html#class_plugin) 的`groupId`? (3认同)

Tam*_*ász 11

其他解决方案都不适合我。

我的解决方案:

Maven 设置 -> 存储库 -> 在列表中选择本地存储库,更新

效果非常好!


Bjö*_*obs 9

我有同样的错误,并能够通过删除我的旧Maven设置文件摆脱它.然后我使用mvn命令手动更新了Maven插件:

mv ~/.m2/settings.xml ~/.m2/settings.xml.old
mvn -up
Run Code Online (Sandbox Code Playgroud)

最后,我在IntelliJ的Maven项目选项卡中运行了"Reimport All Maven Projects"按钮.在我的案例中,错误消失了.


Xin*_*Cai 7

删除您本地的 Maven 未知插件并重新导入所有 Maven 项目。这将解决这个问题。

您可以在View > Tool Windows > Maven以下位置找到它:

在此处输入图片说明


rya*_*son 7

对我来说,这就像给插件一个版本一样简单:

<version>3.3.0</version>
Run Code Online (Sandbox Code Playgroud)

完整的插件代码示例如下:

<build>
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.3.0</version>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>single</goal>
        </goals>
        <configuration>
          <archive>
            <manifest>
              <mainClass>Main</mainClass>
            </manifest>
          </archive>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
      </execution>
    </executions>
  </plugin>
Run Code Online (Sandbox Code Playgroud)


Eng*_*uad 6

没有其他答案对我有用.对我有用的解决方案是通过cmd手动下载缺失的工件:

mvn dependency:get -DrepoUrl=http://repo.maven.apache.org/maven2/ -Dartifact=ro.isdc.wro4j:wro4j-maven-plugin:1.8.0
Run Code Online (Sandbox Code Playgroud)

  • 我尝试了该线程中的其他所有内容,只有这一个解决了我的问题。 (2认同)
  • 我认为这应该是正确的答案,可能是找不到插件的主要原因。显然,在启用关联的配置文件之前,不会下载插件依赖项(我查看了 Maven 存储库,并在缺少的地方标记为红色插件)。我之前会尝试删除整个 m2 存储库(重新下载可能需要一些时间)。 (2认同)

Ran*_*Ray 6

解决了 !!!

这就是我解决问题的方式...

  1. 尝试了一种答案,其中包括“可以通过启用“使用插件注册表”来解决它”。确实做到了,但没有运气。
  2. 再次尝试线程中的答案之一,即“如果不起作用,请使您的缓存无效(文件>无效的缓存)并重新启动。” 做到了,但再次没有运气。

  3. 尝试过这些选项..转到设置-> Maven->导入,并确保已选择以下内容

    自动导入Maven项目

    为聚合器项目创建IDEA模块保留源代码...

    排除构建目录...

    使用Maven输出...

    生成的源文件夹:“自动检测”

    将要进行的阶段:“过程资源”

    自动下载:“源”和“文档”

    使用Maven3导入

    导入程序的项目VM选项:-Xmx512m

    但是再次没有成功。

    1. 现在让我们说我有10个这样的插件,它们没有得到解决,其中第一个是'org.apache.maven.plugins:maven-site-plugin' 我去了'.m2 / repository / org / apache / maven / plugins /”,并删除目录“ maven-site-plugin”,然后再次进行maven导入。猜猜是什么,特别是缺少的插件被下载了。对于其他缺少的插件,我也遵循了类似的步骤,所有问题都得到解决。


Bra*_*ley 5

这对我有用……删除“C:\Users[Windows 用户帐户].m2\repository”下的所有文件夹和文件。

最后在 IntelliJ 的 Maven 项目选项卡中运行“重新导入所有 Maven 项目”。


Den*_*ote 5

我最近面临同样的问题。其他解决方案都没有解决红色错误线。

我所做的是运行有问题的实际目标(部署、站点)。我可以看到这些依赖项然后被获取。

之后,重新导入成功了。


Gau*_*eel 5

如果工件无法解决。进入您的 .m2/repository 目录并检查您是否没有此类文件:

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
Run Code Online (Sandbox Code Playgroud)

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

  • 谢谢!这终于对我有用了,所以你们可以尝试 cd ~/.m2/repository &amp;&amp; find 。-type f -name '*lastUpdated' | xargs rm (3认同)

小智 5

我正在使用IntelliJ Ultimate 2018.2.6,发现“ 重新导入所有Maven项目”功能不使用JDK,该JDK在“设置”中设置:“ 构建”,“执行”,“部署” |“部署”。生成工具| Maven | 赛跑者。相反,它IntelliJ_HOME/jre64/默认使用它自己的JRE 。您可以在“ 构建”,“执行”,“部署” |“配置”中为导入程序配置JDK。生成工具| Maven | 正在导入

在我的特定问题中,JRE密钥库中缺少SSL证书。不幸的是,IDEA仅将此问题记录在自己的日志文件中。一个小小的红色框告知RuntimeException 非常好...


Nip*_*nga 5

对我来说,有效的方法是将包含插件的存储库放在pluginRepository 标签下。例子,

<pluginRepositories>
    <pluginRepository>
        <id>pcentral</id>
        <name>pcentral</name>
        <url>https://repo1.maven.org/maven2</url>
    </pluginRepository>
</pluginRepositories>
Run Code Online (Sandbox Code Playgroud)


小智 5

这对我有用

  1. 转到设置 --> Maven --> 导入 --> 导入器的 JDK --> 使用“使用项目 JDK”选项而不是之前设置的自定义 JDK。
  2. 重新构建/重新导入所有依赖项。