在IntelliJ中找不到Maven插件


101

将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时,这些插件不在我的插件列表中,而是在更新后以某种方式添加了它们,现在它抱怨找不到它们,我可以在哪里从列表中删除这些插件,或者通过安装它们解决问题?

我可以运行Maven目标cleancompile没有问题,但是配置文件/插件只是显示为红色,并带有我不喜欢的警告。


7
按Ctrl + Alt +S。转到插件。是否已检查“ Maven集成”?
memainjm 2013年

@memainjm是,它已检查
春季

2
在Maven设置中取消选中“脱机工作”复选框。
Maheshkumar,2015年

Answers:


75

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


如何使你能告诉我路
nil96

11
@ nil96文件->首选项->构建,执行,部署->构建工具-> Maven
Radu Ciobanu

5
对我来说File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven(是Ubuntu上的IntelliJ Ultimate 2020.2)...,然后我需要使缓存无效并重新启动(File -> Invalid Caches / Restart)。问题解决了,谢谢!
兰巴特

36

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


对于我的同事来说,当未在正确的maven面板中显示插件时,强制重新导入就可以了。
mirelon 2014年

它为我工作。看来它是使用一个过时的settings.xml
安东河的Yuste

34

多年来,我一直在使用maven-deploy插件遇到此问题,即使我没有将插件直接包含在我的POM中,该错误也会出现。作为一种变通办法,我不得不强制将带有版本的插件包含在我的POMs插件部分中,以消除红字。

在Stack Overflow上尝试了所有解决方案后,我发现了问题:在.m2/repository/org/apache/maven/plugins/maven-deploy-plugin目录中有一个版本“ XY”以及“ 2.8.2”等。因此,我删除了整个maven-deploy-plugin目录,然后重新导入了我的Maven项目。

因此,似乎该问题是解析存储库中的IntelliJ错误。但是,我不会删除整个存储库,而只会报告错误的插件。


2
真好 由于IntelliJ与公司的代理服务器竞争,我之所以遇到其中的一些问题。终于把他们炸了。谢谢!
paultamalunas

“更新Maven的指数”(下按Ctrl + Enter)之后
在线

1
我没有本地存储库被损坏的问题。但是添加版本就可以了。
粉丝

同样的事情,这解决了我的问题。谢谢!
svini

该目录在哪里?
user4463876

25

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

在此处输入图片说明

我的IntelliJ版本是Community 2017.2.4


这下载了我所有缺少的maven插件。谢谢你的提示。
Gibado

20

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

mvn dependency:get -DrepoUrl=http://repo.maven.apache.org/maven2/ -Dartifact=ro.isdc.wro4j:wro4j-maven-plugin:1.8.0

进行此更改后,需要告知有关新的可用工件的想法。可以在“设置> Maven>存储库”中完成,在此处选择“本地”,然后单击“更新”。


1
因此,即使在删除\ .m2 \ repository \之后,我仍然发现\ .m2 \ repository \ com \任何内容\东西\我的插件\ 1.2.3只是“部分地”被填充。我删除了1.2.3。目录并没有你说的话在这里,然后它看起来正确的人口,我认为这是“钉子”的解决方案VS删除\ .m2目录\库的感谢之锤的解决方案。
granadaCoder

1
我尝试了该线程中的所有其他操作,只有这个解决了我的问题。
文森特

13

解决了 !!!

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

  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导入。猜猜是什么,特别是缺少的插件被下载了。对于其他缺少的插件,我也遵循了类似的步骤,所有问题都得到解决。

在Windows 10上,该目录位于:“ C:\ Users \ your_user \ .m2 \ repository \ org \ apache \ maven \ plugins \ maven-site-plugin \”。我在另一个目录中只有一个文件。我删除了文件夹,IntelliJ重新下载了它,但是随后有几个文件,包括.jar。在此之前,我在IntelliJ中有2到5个错误,在那之后我只有1个错误。与该文件夹之前的错误相同。
user4463876

9

我有同样的错误,可以通过删除旧的Maven设置文件来解决。然后,我使用mvn命令手动更新了Maven插件:

mv ~/.m2/settings.xml ~/.m2/settings.xml.old
mvn -up

最后,我在IntelliJ的“ Maven项目”选项卡中运行了“重新导入所有Maven项目”按钮。就我而言,错误消失了。


8

我遇到过同样的问题。我将插件添加到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>

7

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

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


1
谢谢你的提示!完成上述操作,然后删除有问题的插件目录,然后重新导入并瞧瞧!
弗拉德

这对我有用。我也做了@Vlad的评论。提出了答案和评论。格式化机器后已安装Intellij 2019.2版本。
拉格

6

删除本地Maven未知插件,然后重新导入所有Maven项目。这将解决此问题。

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

在此处输入图片说明


4

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

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


3

我可以通过在IntelliJ(14.1.2)的maven设置中将“ Maven主目录”从“捆绑(Maven 3)”更改为“ /usr/local/Cellar/maven/3.2.5/libexec”来解决此问题。


3

最近,我遇到了同样的问题。其他解决方案都没有解决红色错误线。

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

之后,重新导入就可以了。


似乎intellij并没有自动下载这些插件,而没有实际运行Maven目标。有点道理:-)即使实际站点和部署目标都失败了,也为我工作:-)
Marti Nito

3

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

<pluginRepositories>
    <pluginRepository>
        <id>pcentral</id>
        <name>pcentral</name>
        <url>https://repo1.maven.org/maven2</url>
    </pluginRepository>
</pluginRepositories>

3

启用“使用插件注册表”并在无效现金后重新启动项目解决了我的问题

启用“使用插件注册表” >>>(intelij)文件>设置> Maven>从maven的选项列表中启用该选项

无效现金>>>文件>无效现金

而已...


为我工作。谢谢。您能解释一下它的实际作用吗?
NIKHIL CHAURASIA

@NIKHILCHAURASIA Maven清洁插件试图清除Maven在其构建过程中生成的文件和目录。尽管有一些插件可以生成其他文件,但“清理插件”假定这些文件是在目标目录中生成的。考虑使用maven-deploy-plugin时,部署不仅意味着复制工件,而且还要确保正确地更新了所有这些信息。但是,如果这些文件被现金文件覆盖,则可能会出现错误
dalusC

@NIKHILCHAURASIA执行Maven时,它将首先在此本地缓存中查找工件。如果无法在此处找到工件,则Maven将访问远程存储库以找到工件。一旦找到,它将被存储到本地存储库中,因此可供当前和将来使用。
dalusC

3

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

当我明确添加groupId如下代码时,问题消失了:

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <version>3.1.0</version>
    </plugin>
</plugins>

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


2

这为我工作:

  • 关闭IDEA
  • 删除“ * .iml ”和“ .idea ”目录(位于项目的根文件夹中)
  • 从命令行运行“ mvn clean install
  • 重新导入您的项目到IDEA

重新导入整个项目后,将开始依赖项的安装,这将需要几分钟的时间才能完成,具体取决于您的Internet连接。


2

这是我试图解决此问题的方法,它起作用了:

  1. 从.m2存储库中手动删除现有插件
  2. 在IntelliJ中启用“使用插件注册表”
  3. 使缓存无效并重新启动IntelliJ
  4. 重新导入IntelliJ中的Maven项目

执行上述步骤后,此问题已解决。希望这对您也有帮助。


2

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

<version>3.3.0</version>

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

<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>

1

如果您在Maven插件中的项目下方有红色的花体,请尝试单击“重新导入所有Maven项目”按钮(看起来像一个刷新符号)。

重新导入所有Maven项目



1

转到IntelliJ->首选项->插件

搜索maven,您将看到1. Maven集成2. Maven集成扩展。

选择Maven集成选项并重新启动Intellij


1

如果工件无法解决,请进入.m2 /存储库的目录,并检查您是否没有这种文件:

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

如果文件夹中没有任何伪像,请将其删除,然后再次尝试重新导入IntelliJ。

这些文件的内容如下:

#NOTE: This is an Aether 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)来重新加载缺少的文件。


0

就我而言,在两个Maven子模块中有两个稍微不同的依赖关系(2.1版和2.0版)。切换到单个版本后,IDEA 14中出现了错误。(刷新和.m2滑动无济于事。)


0

我已经在Maven设置中将Maven主目录从Bundled(Maven 3)更改为Bundled(Maven 2)。这对我有用。试试!



0

这可能会帮助某人

我遇到类似的问题,我的系统无法解析代理服务器,
因此已连接到本地wifi hotpsot。


0

您可以将它们添加为依赖项:

<dependencies>
    <dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <version>2.4.1</version>
    </dependency>
</dependencies>

Intellij将解决它们。成功导入依赖项后,您可以清除它们。


0

对我来说,settings.xml中有一个错误。由于无法使用,我在网址中使用了http://。一旦我删除它,插件已成功下载。

<proxy>
   <id>optional</id>
   <active>true</active>
   <protocol>http</protocol>
   <host>www-proxy.xxxx.com</host>
   <port>80</port>
  <!-- <nonProxyHosts>local.net</nonProxyHosts>-->
  </proxy>

  <!-- Proxy for HTTPS -->
  <proxy>
   <id>optional1</id>
   <active>true</active>
   <protocol>https</protocol>
   <host>www-proxy.xxxx.com</host>
   <port>80</port>
   <!--<nonProxyHosts>local.net</nonProxyHosts>-->
  </proxy>

0

对我来说,我手动下载它们并将主题放在我的.m2文件夹中,然后我使缓存无效并重新启动(我使用Intellij IDEA)。这些步骤例如:

<groupId>org.codehaus.mojo</groupId>
              <artifactId>jdepend-maven-plugin</artifactId>
<version>2.0</version>
  1. 我转到https://mvnrepository.com/,然后为jdepend-maven-plugin进行服务选择版本2.0
  2. 在“文件”中,单击“查看全部”
  3. 下载此文件jdepend-maven-plugin-2.0.jar jdepend-maven-plugin-2.0.jar.sh1 jdepend-maven-plugin-2.0.pom jdepend-maven-plugin-2.0.pom.sh1
  4. 转到.m2文件夹,然后到org / codehaus / mojo创建一个名称为jdepend-maven-plugin的文件夹,其中名称为2.0放置之前下载的4个文件。

  5. 创建名称为_remote.repositories的文件,使用文本编辑器将其打开并写入内部

jdepend-maven-plugin-2.0.jar> central =
jdepend-maven-plugin-2.0.pom> central =

  1. 转到intellij IDEA使缓存无效并重新启动。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.