IntelliJ 无法正确导入罐子



我正在使用IntelliJ 11.1.3,我正在尝试以jarfile的形式附加两个外部库以在模块中使用。我已经将它们添加到项目结构 ->模块 ->依赖项中,它们也正确显示在库下,但我无法将它们导入我的源代码中。

我在这里缺少一个步骤吗?我对IntelliJ很陌生,以前只使用Netbeans,所以我有点迷茫。我认为附加外部库并立即使用这些类非常简单,但是当我键入"import"时,我什至没有在代码完成时获得库名称。

你做对了,库是在模块依赖项中配置的。验证是否在此处添加了正确的文件。

您应该能够在""节点下的"项目视图"中的 jar 内浏览。如果看不到那里的 jar,则说明您的库配置不正确。如果您看到 jar,但看不到其中的类,则它们可能已损坏,请用有效副本替换它们。

还要检查库是否已添加到您尝试导入和使用它们的正确模块的依赖项中。验证依赖项的范围,编译很可能是您需要的。

File |如果一切看起来正确但不起作用,则无效缓存可能会有所帮助。

如果没有任何帮助,请与库共享一个示例项目来说明问题。

您正在使用一个包。这些库将从默认包中使用。因此,将所有类移动到默认包(即 src 文件夹)并删除所有包/导入语句。此外,使用 In 或 Stdin 类读取数据,而不是 java.io。

我也遇到了这个问题,我所做的是关闭当前项目并重新创建/导入项目,然后导入jar,它可以工作。我知道这并不明智,但这是一种直接而简单的方法。当我尝试了CRAZYCODER所说的所有事情时,但没有工作。

我在这里得到了解决方案 - https://intellij-support.jetbrains.com/hc/en-us/community/posts/207108385-IntelliJ-not-able-to-resolve-classes-of-external-Libraries-for-Maven-projects

这就是我尝试过的,它奏效了——

将 jar 添加到类路径似乎有所帮助。项目结构>平台设置> SDK>类路径单击 + 并添加罐

如果你在 POM 中的 jar 依赖项没有作用域(或者如果有作用域,请将其更改为新的临时值),请添加一个临时值,例如"编译"。Intellij 将识别此更改并刷新外部库。然后,可以删除临时作用域。

Maven 项目 ->

右键单击您的项目 -> 取消忽略

我遇到了同样的问题,并尝试了上面和这里提到的几乎所有解决方案。对于我们大多数人来说,提到的解决方案应该有效。

我的情况有点不同,所以想在这里提到它。

在IntelliJ项目Maven存储库设置中,我发现即使是本地.m2存储库也无法更新。它尝试连接到localhost,特别是在我的情况下,hosts文件具有不同的localhost设置。

我改变了它,它开始工作,因为它现在能够连接到本地 .m2

就我而言,当我在 POM 中编译.jar文件时.xml有一个代码生成可执行.jar,但为了与其他应用程序中的角色库一起使用.jar必须是不可执行的.jar(它没有 main.claass 等,对我们来说不是必须的)。实际上,当我从POM中删除这条鳕鱼时.xml - 我的库开始运行良好。

-->
<!--                <groupId>org.springframework.boot</groupId>-->
<!--                <artifactId>spring-boot-maven-plugin</artifactId>-->
<!--                <configuration>-->
<!--                    <excludes>-->
<!--                        <exclude>-->
<!--                            <groupId>org.projectlombok</groupId>-->
<!--                            <artifactId>lombok</artifactId>-->
<!--                        </exclude>-->
<!--                    </excludes>-->
<!--                </configuration>-->
<!--            </plugin>-->

最新更新