IDEA中导入eclipse项目会受到.classpath和.project的影响
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA中导入eclipse项目会受到.classpath和.project的影响相关的知识,希望对你有一定的参考价值。
参考技术A IDEA中导入eclipse项目会受到.classpath和.project的影响出现问题:JAVA----idea maven工程的module的Language Level总是自动变到5 enum的问题
直接删除,重新导入即可。
在 IntelliJ IDEA 中导入 Maven 依赖项
【中文标题】在 IntelliJ IDEA 中导入 Maven 依赖项【英文标题】:Import Maven dependencies in IntelliJ IDEA 【发布时间】:2012-07-12 09:06:40 【问题描述】:我有一个关于 IntelliJ IDEA 11 的小问题。我刚刚从 subversion 导入了一个项目 - 它是一个 maven 项目。但是我在 maven 库依赖项中有一个问题,因此我无法自动包含所有 maven 依赖项 - 只有当我打开该类/这就是我在这里得到的内容时,IDEA 才会显示依赖项错误:
所以我希望自动添加所有依赖项——这可能吗,还是我必须通过所有类文件来识别和添加 maven 依赖项?!
更新:在做了一些修改后,我发现了如何以某种方式解决我的问题。这就是我所做的:
但我认为从逻辑上讲它不会包含并提前检查新的依赖项?!... intelliJ 中是否有任何设置区域 - 自动将依赖项导出到类路径?!
【问题讨论】:
它会下载所有依赖项,但似乎并未将所有依赖项都添加到类路径中...... 另一个问题是,只有当我打开该 java 文件时,intelliJ 才会向我显示红色下划线的错误... 出现这条红线的一个例子是,如果您有一个带有分类器的 SNAPSHOT 依赖项,其中存在不带分类器的较新版本的依赖项。这在 Maven 中是完全合法的,但是 IntelliJ 在尝试找出本地 Maven 存储库中物理文件的路径时会感到困惑。 仅供参考,这仍然可能在 15.0.2 中发生。刚刚发生在我身上。不得不吹走我的 .iml 文件和 .idea 文件夹并重新导入。令人难以置信的令人沮丧的 b/c 我花了 2 个小时与之抗争,最终丢失了我所有精心制作的运行配置。 @KevinPauli 无需为此删除 IDEA 项目文件,您只需在“Maven 项目”选项卡下“重新导入所有 Maven 项目”即可手动重新导入。 【参考方案1】:解决方案:-
-
转到文件 -> 设置 -> maven -> maven 主路径
在那里你会发现捆绑的(maven 3)类似的东西
选择系统中存在 maven 文件的适当的 maven 主路径
(环境变量中给出的路径)
点击应用
刷新项目。
【讨论】:
【参考方案2】:IntelliJ 2020.3.3
这个是为我做的。
构建、执行、部署 > 构建工具。
更改“构建脚本更改后重新加载项目”:
从默认的“外部更改”到“任何更改”有了这个,项目重建需要一段时间,但现在我可以在 IntelliJ 中看到 Maven 依赖项:
【讨论】:
【参考方案3】:所以我在组织的许多代码库中也遇到了这个问题。除了上面建议的答案之外,我们还可以调整 jvm 的分配池内存。这是因为,大型代码库中引入的依赖项的数量可能会令 jvm for IDE 无法完全构建项目。因此尝试增加 XMX 值并且它起作用了! Added -Xmx3072 to resolve the issue of "not building" my Java project in IntelliJ
【讨论】:
工作就像一个魅力,这就是我一直在寻找的 :)【参考方案4】:使缓存无效对我有用:
文件 > 使缓存无效
检查:
清除文件系统缓存和本地历史 清除下载的共享索引
然后无效并重新启动
【讨论】:
Invalidate Caches and restart 解决了我的问题,谢谢。【参考方案5】:这个问题的一个可能模式是你没有连接到 Nexus,基本上你想在离线模式下构建项目。但是,当您导入项目时,Idea 会尝试自动下载 Maven 依赖项......但失败了。您在“设置”中设置了“脱机工作”复选框,但为时已晚:在初始下载尝试期间某些内容已损坏。此处列出的任何一个选项都不能帮助我解决这个问题。相反,我做了以下事情:
-
第一次创建空的 Java(不是 Maven)项目
选中 Maven 设置中的脱机工作选项
将我的项目作为 Maven 模块添加到这个新项目中
这样就成功了。
【讨论】:
【参考方案6】:-
在 maven 选项卡中单击 + 并选择 pom.xml
从 maven 选项卡单击下载源和文档
在项目结构上(您可以在其中查看项目文件/目录)右键单击您要构建的项目并选择构建模块项目名称。
从选项卡运行 - 使用 + 添加应用程序编辑配置并填写以下字段: i.主类 - 从项目选项卡中手动选择主类 ii。使用模块的类路径 - 选择应用程序名称 iii。缩短命令行 - 类路径文件
现在只需运行应用程序。
【讨论】:
【参考方案7】:re-import-maven -> close-intellij -> 删除整个 -
.idea
-文件夹->重新打开项目->构建->构建- project/build-module-'你的父模块'
【讨论】:
【参考方案8】:在我的情况下,MAVEN 使用的 JAVA 路径未设置为机器上配置的 JAVA_HOME。因此,它甚至没有尝试下载依赖项。 我遵循的步骤解决了这个问题,
检查了 JAVA 路径,设置 >> 构建 >> 构建工具 >> 导入 >> JDK for importer。将其指向 JAVA_HOME。
mvn clean install -U
使用上述命令强制下载依赖项。
重新导入 Maven 项目
【讨论】:
【参考方案9】:您可能在公司的内部网络下工作。
如果是这样,要下载或添加外部 Maven 依赖项,您可能需要更新 user/<username>/.m2
文件夹下的 settings.xml
文件。
联系您的管理员以提供正确的settings.xml
文件,然后将其粘贴到您的.m2
文件夹中。
【讨论】:
【参考方案10】:在 IntelliJ 14 之前修复
File [menu] -> Settings -> maven -> importing and uncheck "use maven3 to import project"
ref:http://youtrack.jetbrains.com/issue/IDEA-98425(可能还有其他想法)
修复 IntelliJ 15+
再次遇到这个问题,这次是 IntelliJ 15,它不再提供“使用 maven3 导入”选项。原因是有时 IntelliJ“不能正确解析 maven 依赖项”,如果它不能正确解析其中一个,它显然会放弃其中的 all。您可以通过打开 maven 项目工具窗口(查看菜单 -> 工具窗口 -> Maven 项目)来判断是否是这种情况。然后扩展您的一个 Maven 项目及其依赖项。如果依赖关系都用红色下划线,“休斯顿,我们有问题”。
您实际上可以通过将鼠标悬停在项目名称本身上来查看真正的失败。
在我的例子中,它说“问题:没有可用于 XXX 的版本”或“无法读取工件 org.xy.z 的描述符”参考:https://youtrack.jetbrains.com/issue/IDEA-128846 和 https://youtrack.jetbrains.com/issue/IDEA-152555
在这种情况下,我似乎正在处理一个没有关联 pom 文件的 jar(在我们的 maven nexus repo 和我的本地存储库中)。如果这也是您的问题,“当前的解决方法:如果您实际上不需要在自己的代码中使用该 jar 中的类(例如仅传递 maven 依赖项),您实际上可以从 pom 中注释掉它(暂时),maven项目重新加载,然后取消注释。不知何故,IntelliJ“记住”它的旧工作依赖项。临时添加一个maven传递排除也可能这样做,如果你从传递依赖链中遇到它。 "
另一件可能有帮助的事情是使用比捆绑的 3.0.5 更“新版本”的 maven。 为了将其设置为默认值,关闭所有 intellij 窗口,然后打开首选项 -> 构建、执行和部署 -> 构建工具 -> maven,然后更改 maven 主目录,它应该说“默认project”在您调整它时显示在顶部,但您也可以针对特定项目调整它,只要您在调整后“重新导入”即可。
清除缓存
删除您的 intellij 缓存文件夹(Windows:HOMEPATH/.IntellijIdea,IdeaCXXX linux ~/.IdeaIC15)和/或卸载并重新安装 IntelliJ 本身。这也可以通过转到文件 [菜单] -> Invalidate Caches / Restart...
来完成。点击invalidate and restart
。这将为您的整个项目重新编制索引,并解决 IntelliJ 的许多难以追踪的问题。
【讨论】:
奇怪的是,几乎所有其他帖子都建议选中“使用 Maven3 导入项目”选项来解决这个问题,而实际上取消选中它为我解决了这个问题。为什么?我不知道。谢谢! 在 v14 终极版中,我选择了一个外部 maven,一切都恢复正常了。 @AlikElzin-kilaka 将 maven 主目录更改为外部 maven 主目录确实有很大帮助。在我将 IDEA 更新到 v14 终极版后,由于“找不到 tomcat6 插件”,我无法在 IDEA 中启动我的项目,但我可以使用 mvn 命令启动项目,并将 maven 主目录更改为外部目录解决了它 在 IntelliJ 2016.2.1 中,禁用自动导入将Maven home directory
更改为我们的堆栈正在使用的版本 (3.3.9) 解决了我的问题。
将 maven home directory
从 Bundle (Maven 3)
更改为安装我的 maven 的路径 .../maven/3.6.1/libexec
为我工作【参考方案11】:
我可以通过在 pom.xml 文件中的 build 标记之后添加这行代码来修复我的问题,我从我正在运行的项目中比较了它,发现这就是区别,现在我一切都很好。
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</pluginRepository>
</pluginRepositories>
【讨论】:
【参考方案12】:我遇到了同样的问题,并尝试了这里提到的所有答案,但都没有奏效。
简单的解决方案是转到您的项目文件夹并删除所有 .idea 和 .iml 文件并重新启动 IntelliJ ide。有用。无需对设置进行任何操作。
【讨论】:
【参考方案13】:就我而言,其中一个模块由于某种原因被忽略了。 要解决这个问题:右键单击有问题的模块并选择“Unignore Projects”。
【讨论】:
【参考方案14】:从项目目录中删除 .idea 文件夹,然后将项目重新导入为 Maven 项目,这对我有用。
【讨论】:
【参考方案15】:我遇到了类似的问题,在我的情况下,我使用的是不是从 IntelliJ 挑选的自定义 settings.xml
。
解决方案:File > Settings > Build, Execution, Deployment > Maven: User settings file
(在此处选择我的自定义 settings.xml)。
【讨论】:
【参考方案16】:我能够通过从 Project Settings -> Modules 列表中删除不必要的模块来解决它。
事实证明,当我通过从项目文件夹(而不是打开 pom.xml)导入创建 IntelliJ 项目时,IntelliJ IDEA 自动创建了这些附加模块。然后,在将项目声明为 Maven 项目后,创建了适当的模块,并且现有模块与它们发生冲突。也可以在项目创建期间排除这些模块。
【讨论】:
【参考方案17】:我的 macbook 也有类似的问题,只是在 pom.xml
中做了一个小改动,它开始下载所有依赖项:
早期的依赖是为我的 windows 机器编写的如下:
<dependencies>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
</dependencies>
我刚刚删除了<dependencies>
和</dependencies>
标签,它开始下载所有依赖项:
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
我不确定它是否适合你。但对我来说效果很好。
谢谢
【讨论】:
【参考方案18】:首先检查 User Settings 文件指定的路径: 在 Settings -> Build,Execution,Development -> Build Tools -> Maven 中。 该字段应具有您的 maven 的 settings.xml 的路径。此外,settings.xml 应该有正确的远程存储库路径。
【讨论】:
这对我有用,在 settings.xml 文件中,嵌套在问题似乎是,尽管在 pom.xml 中列出了您的依赖项,但 IntelliJ IDEA 不会在您运行项目时重新构建这些依赖项。
对我有用的是:
转到“运行”->“编辑配置...”,找到您的应用程序,确保“启动前:”部分已展开,单击绿色加号,然后选择“构建项目”。
【讨论】:
【参考方案20】:Maven - 重新导入对我不起作用。 我在 STS(Eclipse) 中有 Spring 项目,我的解决方案是将项目导入 IDEA,如下所示: 1) File - New - Project from Existing Sources... - 选择目录 - 选择 Eclipse。 2) 在设置中将 Maven 自动导入设置为 true。 3) 然后右键单击 pom.xml 并选择 Add as Maven Project。 在此之后它已导入所有内容。
【讨论】:
【参考方案21】:在 Maven 中,当我删除了dependencyManagement xml 部分并且直接在项目部分下有依赖项时,依赖项已包含在内
【讨论】:
【参考方案22】:如果一切都失败了,请检查本地 .m2 存储库中的 jar 文件是否确实有效且未损坏。就我而言,该文件尚未完全下载。
【讨论】:
【参考方案23】:IntelliJ 应该自动下载所有依赖项并将其添加到项目的类路径中,只要您的 POM 兼容并且所有依赖项都可用。
将 Maven 项目导入 IntelliJ 时,通常会出现一个信息框,询问您是否要为 Maven 项目配置自动导入。这意味着如果您对 POM 进行任何更改,这些更改将自动加载。
您可以在文件 > 设置 > Maven > 导入中启用此类功能,有一个复选框显示“自动导入 Maven 项目”。
如果这没有帮助,那么我建议进行全面清理并重新开始:
关闭您的项目窗口(和 IntelliJ)并删除所有*.iml
文件和所有 .idea
文件夹(每个模块应该有一个)
从命令行运行mvn clean install
将项目重新导入 IntelliJ 并在提示您启用自动导入时注意
IntelliJ 2016 更新:
自动导入 Maven 项目设置已移至 IntelliJ 首选项中的构建、执行、部署 > 构建工具 > Maven > 导入。
【讨论】:
所以您的解决方案是将依赖项标记为已导出?这很奇怪!我经常使用 IntelliJ 和 Maven,但我的所有项目(其中一些是多项目)都没有启用导出功能……是 Community Edition 还是 Ultimate? 它是终极版,但我导入的项目是在 Eclipse 上构建的 - 因此 .classpath 在那里启用但 IntelliJ 使用 .iml - 所以我认为第一次包含这些库是合乎逻辑的如果这个项目之前没有 .iml 文件.. ?! 哦,好的 - 您是否尝试将其作为 Maven 项目而不是 Eclipse 项目导入?在使用 Maven 项目时,我习惯于不将 IDE 相关文件签入到我的源存储库中:如果它是一个 Maven 项目,那么 Maven 规则 您可以在首选项/设置中启用自动导入。打开首选项/设置并搜索“自动导入 Maven 项目”。它位于 Build,Execution,Deployment>Build Tools>Maven>Importing @JustinBlank 对此并不感到惊讶,因为这是 2012 年的答案。设置仍然存在,只是被移到了其他地方(答案已更新)。【参考方案24】:我遇到了一些子依赖在 IntelliJ 2016.3.X 中无法解决的问题。这可以通过将 Settings > Build, Execution, Deployment > Build Tools > Maven 中的 Maven home directory
从 Bundled (Maven 3)
更改为 /usr/share/maven
来解决。
之后,所有子依赖项都像以前的 IntelliJ 版本一样得到解决。
【讨论】:
【参考方案25】:对于 IntelliJ 2016-2.4(我相信其他新版本):
查看 > 工具窗口 > Maven 项目
在新显示的工具栏中,选择 Maven 设置(工具集的图标)。
当此屏幕打开时,展开 Maven 菜单并单击“导入”
在此处,单击“自动导入 Maven 项目”。还要确保“JDK for Importer”选项与您要使用的 JDK 版本相匹配。
点击确定。现在转到 pom.xml 中的红色依赖项,选择红色灯泡,然后单击“更新 Maven 索引”。
【讨论】:
为导入程序选择正确的 JDK 帮助了我。我还必须运行 mvn idea:clean idea:idea 来关闭最后一个问题。【参考方案26】:我遇到了同样的问题并尝试了所有建议但没有解决问题,我使用的是 Intellij 版本 13.1.3
在花了几个多小时试图修复它之后,我决定尝试升级版本并在 14.1.4 版本中打开项目,最终解决了这个问题。我认为这可能是以前版本中的一个错误。
我希望这会有所帮助!
【讨论】:
【参考方案27】:对我有什么帮助:
导航: 设置 |构建、执行、部署 |马文
指定“Maven 主目录” - 安装 maven 的位置
【讨论】:
【参考方案28】:导入项目时,选择pom.xml
,而不是项目目录。它应该可以工作。
【讨论】:
有时点击 Maven Projects 窗口下的“Reimport all maven projects”选项 也许这是最优雅、最干净的解决方案(有点尴尬,intellij 无法帮助您猜测) 也为我工作,使用 IntelliJ 社区版 2019.3.4。感谢您提供如此简单的解决方案。 :)【参考方案29】:重新导入项目。如果你安装了 maven 插件,你可以使用它。
右键项目-> Maven -> 重新导入
【讨论】:
【参考方案30】:劫持一点以添加最终对我有用的东西:
进入 IDE 右侧边缘的 Maven Projects
侧边栏,并验证您的依赖项是否在您的模块下正确列出。假设它们是,只需让 IDEA 重新导入(顶部的第一个按钮,看起来像两个蓝色箭头形成一个逆时针圆圈)。
一旦我这样做了,并让 IDEA 为我重新加载项目,我的所有依赖项都神奇地被理解了。
供参考:这是IDEA 13.1.2
【讨论】:
以上是关于IDEA中导入eclipse项目会受到.classpath和.project的影响的主要内容,如果未能解决你的问题,请参考以下文章