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)可以重新加载丢失的内容。
对我来说,我手动下载它们,把主题放在我的。m2文件夹里,然后我使缓存无效并重新启动(我使用Intellij IDEA)。
具体步骤如下:
< groupId > org . codehaus < / groupId >的魔力。
< artifactId > jdepend-maven-plugin < / artifactId >
< 2.0版本> < /版>
I go to https://mvnrepository.com/ then serch for
jdepend-maven-plugin choose the version 2.0
In Files go and click on View All
Download this files 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
go to .m2 folder then org/codehaus/mojo Create folder with name jdepend-maven-plugin inside with name
2.0 inside put the 4 files downloaded befor.
create file with name _remote.repositories open it with text editor and write inside
jdepend-maven-plugin-2.0.jar中部> =
jdepend-maven-plugin-2.0.pom中部> =
去intellij IDEA使缓存无效并重新启动。
这些方法对我来说都没用。在经历了痛苦的几个小时后,我发现这个问题是由我导入项目的方式引起的。
上下文:导入带有Web和Kafka依赖项的新生成的Spring Initializr项目。
问题:插件依赖“未找到”,IntelliJ无法编译应用程序,即使mvn清洁编译在控制台上运行良好。
坏的方法:使用“New > Project from Existing Sources…”选项导入它。
好的方法是:使用“Open…”选项导入它。
从坏到好的解决方案:删除项目,从版本控制中删除并重新克隆repo,以确保所有gitignored IntelliJ文件都被删除,并使用“Open…”选项将其导入IntelliJ。
6月/ 2021:
不删除,不重新导入。
我所做的就是:
C:\Users\dell\.m2\repository\org\apache\maven\plugins
然后双击每个插件文件夹,并查看下载的版本。
然后我回到pom文件,根据下载的版本,我在<version>....中仔细修改了那些版本> < /版本标签。然后刷新。
这样,所有的红色标记都消失了,甚至那些黄色标记也消失了。
所有的清洁。
这是我完整的pom文件,以备进一步通知。该项目是JavaFx+Maven与阴影:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>main.java.sample</groupId>
<artifactId>ThreeColumnTable</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>15.0.1</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>15.0.1</version>
</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>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>11</source>
<target>11</target>
<release>11</release>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>resources</goal>
<goal>testResources</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.1.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<filesets>
<fileset>
<directory>src/main/generated-groovy-stubs</directory>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>org.example.App</mainClass>
<manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.1</version>
<configuration>
<mainClass>org.example.App</mainClass>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<executions>
<execution>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>project-classifier</shadedClassifierName>
<transformers>
<transformer implementation=
"org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.example.Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
我把依赖放在依赖项中,解决了我的问题:
<dependencies>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
我忽略了<pluginManagement>,它是<dependencyManagement>,这与<dependencies>不同:
dependencyManagement只声明依赖项,不引入依赖项。
因此,无论我清除存储库文件夹中的所有项目,还是键入mvn clean install -e -U,两者都不起作用。
如果你已经尝试清除你的.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然后单击“应用”