IntelliJ无法正确导入Jars

时间:2012-08-15 02:13:54

标签: java import jar intellij-idea

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

我在这里缺少一步吗?我是IntelliJ的新手,以前只使用过Netbeans,所以我有点迷失。我认为附加外部库并立即使用类很简单,但是当我输入'import'时,我甚至没有在代码完成时获得库名。

8 个答案:

答案 0 :(得分:13)

您做得对,库在Module Dependencies中配置。验证是否在那里添加了正确的文件。

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

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

File | 无效缓存可能会有所帮助,以防所有内容看起来都正确,但不起作用。

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

答案 1 :(得分:3)

您正在使用套餐。这些库将从默认包中使用。因此,将所有类移动到默认包(即src文件夹)并删除所有包/ import语句。另外,使用In或Stdin类来代替java.io来读取数据。

答案 2 :(得分:1)

我也遇到了这个问题,我所做的是关闭当前项目并重新创建/导入项目然后导入jar,它的工作原理。我知道这不明智,但这是一种直接而简单的方式。当我尝试CRAZYCODER所说的所有东西但不起作用。

答案 3 :(得分:0)

如果POM中的jar依赖项没有作用域(或者它有一个作用域,将其更改为新的临时值),则添加一个临时值,例如: “汇编”。 Intellij将识别更改并刷新外部库。然后,您可以删除临时范围。

答案 4 :(得分:0)

Maven项目 - >右键单击您的项目 - >屏蔽

答案 5 :(得分:0)

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

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

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

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

答案 6 :(得分:0)

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

这是我尝试过的并且有效的-

将jar添加到Classpath似乎有帮助。 项目结构>平台设置> SDK>类路径 点击+并添加广口瓶

答案 7 :(得分:0)

在我的例子中,当我在 POM.xml 中编译 .jar 文件时,有一个代码生成 EXECUTABLE .jar,但是在其他应用程序中使用角色库的 .jar 必须是 NOT EXECUTABLE .jar(它没有 main.claass等等,这对我们来说不是必须的)。实际上,当我从 POM.xml 中删除这个 cod 时 - 我的库开始工作得很好。

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