在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
IntelliJ IDEA 11导入依赖的问题需要从subversion导入一个项目 – 这是一个maven项目。但是我在处理maven库依赖时遇到了问题,这导致不能自动地包含所有的maven依赖项 – 当我打开该类时,IDEA显示依赖错误。问题如下图所示: 想让所有的依赖关系被自动添加 – 这是否可行?还是说必须要通过所有的类文件来识别和添加maven依赖? 经过一些尝试,做了一些修改之后,发现了解决上述问题的一种可行方式,如下图所示: 但是,它不会提前引入和检查新的依赖关系吗?!…在intelliJ中是否有任何地方可以设置:自动导出依赖到classpath? 推荐的解决办法只要POM兼容并且所有依赖关系可用,IntelliJ会自动将所有依赖项添加到项目的类路径(classpath)中。 当将Maven项目导入IntelliJ时,通常会提示是否要为Maven项目配置自动导入(Auto-Import)。这意味着如果对POM做任何更改,这些更改也会自动加载。 可以按如下方式启用此功能:进入 如果上述办法无效,建议做一个完整的
针对IntelliJ 2016更新的不同细节处理: 导入Maven项目的自动设置功能已被移动到IntelliJ首选项的 次佳解决办法解决方法是:到文件[菜单] – >设置 – > maven – >导入,取消选中“使用maven3导入项目” 参考:http://youtrack.jetbrains.com/issue/IDEA-98425(可能还有其他一些思路) 更新:对于IntelliJ 15,已经没有“使用maven3导入”选项可用了。原因是有时IntelliJ“不能正确解析maven依赖关系”,亦即,如果不能解析其中的任意一个,它就会放弃所有这些依赖。可以通过打开maven项目工具窗口(查看菜单 – >工具Windows – > Maven项目)来判断是否是这种情况。展开一个maven项目及其依赖项,如果依赖关系都以红色加下划线,那么问题来了: 可以通过鼠标悬停在项目名称上,可以看到真正的失败原因。 在上面的实例中,显示“问题:没有可用的XXX的版本”或“无法读取artifact 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 IDEA的Maven Projects面板中重新导入(Re-Import)项目。这应该会自动下载并配置 如果由于某种原因在IDEA中下载不能正常工作,请从命令行尝试 当然,所有必需的依赖项和任何自定义存储库都必须直接在 第四种思路对于IntelliJ 2016-2.4(以及其他new-ish版本): 视图>工具Windows> Maven项目 在新显示的工具栏中,选择Maven设置(工具集的图标)。 当此屏幕打开时,展开Maven菜单,然后单击导入(‘Importing’) 然后单击“自动导入Maven项目”。另外,还要确保“JDK for Importer”选项与您使用的JDK版本相匹配。 单击确定。现在到pom.xml中的红色依赖,选择红色的灯泡,然后点击’更新Maven索引’。 第五种思路导入项目时,应该选择 第六种思路当创建一个新项目时,只需选择以下选项: …从外部模型导入项目 在现有外部模型(Eclipse,Maven …)上创建IDEA项目结构… 在上述问题的情况下,可以关闭项目,只需创建一个新项目。选择之前旧项目的目录,这将覆盖它,使其成为一个Maven项目。 补充如果导入相同的路径多次,则导入Maven依赖项可能会不起作用。这可能自动发生于导入现有的maven项目之后。出现这种情况的具体原因还不清楚按,但这应该是一个错误。 例如,如果项目是
这三个路径可能被导入为顶级节点:
如果是这种情况,依赖关系似乎是正确的,但是在删除多余路径(本例中为 此问题的一个症状是,当手动检查库(问题的第二个屏幕截图)时,IDEA会警告有重复的路径。 有几种方法可以让重新读取依赖关系在需要的时候使用。如果访问“Maven Projects”选项卡,则在该选项卡的左上方有一个“Reimport All Maven Projects”图标。如果怀疑IDEA已经搞乱了依赖关系,可以点击文件>让缓存失效。 本文翻译整理自:
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13