【问题标题】:IntelliJ - After adding dependency jar, How do I use the methods in the JarIntelliJ - 添加依赖 jar 后,如何使用 Jar 中的方法
【发布时间】:2018-03-05 00:15:12
【问题描述】:

我希望为我的一个类中使用的一些方法创建一个外部库。我将这些方法移到他们自己的项目中并创建了该项目的 jar 文件。然后我将该 jar 文件添加到我的原始项目的依赖项中,因此它出现在我项目的外部库部分中。我还尝试将其添加为库(这就是它在图片中出现两次的原因)。但是我无法调用 jar 文件中存在的任何方法。我似乎也无法导入文件。请帮忙。

My code where I am trying to use methods found in SortLibrary.jar

编辑:我尝试了import SortLibraryimport Sortlibrary.jar 等的许多变体 - 均无济于事。

编辑 2:已解决:我的 jar 需要不使用默认包

【问题讨论】:

  • 我的猜测是你必须引用包含这些函数的类。
  • 我试过调用诸如 SortLibrary.function() 之类的东西,但仍然无法识别

标签: java intellij-idea jar


【解决方案1】:

您是否尝试过重建您的项目?有时,如果不重建或清理项目,项目就无法找到 jars。

【讨论】:

    【解决方案2】:

    您需要:

    • 添加带有完整类名的import 语句,例如:import my.package.SortLibrary;。在这种情况下,您应该能够将您的方法与类引用一起使用,如下所示:SortLibrary.prompt("File name?");

    • 如果您不想要类引用,请使用static import: import static my.package.SortLibrary.prompt;(或import static my.package.SortLibrary.* 导入所有静态方法)

    顺便说一下,在IntelliJ IDEA中,如果你将光标指向你需要导入的方法并按下Alt + Enter,它会建议你导入它是自动的。

    注意:如果SortLibrary 属于未命名的包(没有包声明),则不能导入它。见Java documentation

    【讨论】:

    • 我正在执行 Import SortLibrary 之类的操作,但无法识别。此外, alt + enter 不会显示任何关于通过红色方法导入什么的建议。
    • @Christopher 你是怎么打包那个罐子的?为什么你的SortingLibrary 类不属于jar 内的任何包?
    • @Christopher 请注意,如果您的SortingLibrary 没有指定包(也称为默认包),那么您无法从任何其他包访问它。
    • 我相信SortingLibrary 没有包,我看看改一下,谢谢
    • @Christopher 我认为这就是原因。希望对您有所帮助。
    猜你喜欢
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 2019-09-03
    • 2019-06-29
    相关资源
    最近更新 更多