Intellij idea 是什么导致IntelliJ IDEA认为JAR文件是空的?

Intellij idea 是什么导致IntelliJ IDEA认为JAR文件是空的?,intellij-idea,gradle,jar,Intellij Idea,Gradle,Jar,IntelliJ偶尔会认为gradle管理的JAR文件依赖项是空的。更换磁盘上的JAR、同步、重新启动或清除IntelliJ缓存都不能解决这个问题,因此我认为它不喜欢JAR文件本身的某些方面 在项目树中: 正如您所期望的,从JAR的包导入失败 然而,JAR文件不是空的,IntelliJ工具链之外的编译工作正常 IntelliJ是否对JAR内容、格式或编码有严格的要求,这可能是造成这种情况的原因?您的JAR文件应该没有任何问题,这一定是因为您没有将JAR文件导入到项目中,您只是在项目中复制了它。

IntelliJ偶尔会认为gradle管理的JAR文件依赖项是空的。更换磁盘上的JAR、同步、重新启动或清除IntelliJ缓存都不能解决这个问题,因此我认为它不喜欢JAR文件本身的某些方面

在项目树中:

正如您所期望的,从JAR的包导入失败

然而,JAR文件不是空的,IntelliJ工具链之外的编译工作正常


IntelliJ是否对JAR内容、格式或编码有严格的要求,这可能是造成这种情况的原因?

您的JAR文件应该没有任何问题,这一定是因为您没有将JAR文件导入到项目中,您只是在项目中复制了它。
因此,只需右键单击它并按“添加为库”

在IntelliJ IDEA中添加外部JAR的步骤:

  • 从“文件”菜单中单击“文件”
  • 项目结构(
    CTRL
    +
    SHIFT
    +
    ALT
    +
    S
    在Windows/Linux上
  • 选择左侧面板上的模块
  • 依赖项选项卡
  • “+”→ jar或目录
通过这种方式,“jar”文件将被编入索引,并且可以扩展


请参阅。

根据名称天真地判断,这些看起来像托管依赖项(maven或类似)。如果我没有弄错的话,您是否检查了它们是否正确地传输到本地存储库?尽管很少,但我的存储库出现了一些问题,我的本地repo中的jar无效……是的,它们是由gradle管理的(这是IntelliJ的一个gradle项目)。为了排除错误下载,我手动将项目lib目录中的文件替换为我们工件库中的新副本。我对gradle不是很熟悉,但我想,就像maven一样,除非您更改它,否则您将在那里找到它们,而不是在lib目录中。您应该能够通过转到
File
->
项目结构
->
并从列表中选择一个。啊,您的建议指出了问题。库指向lib/目录(这是我们项目的设置),但在
项目结构
->
视图中,列出了这些库的错误版本。这种情况是在从开发负责人切换到较旧的分支机构后出现的。看起来IntelliJ正在缓存一些渐变依赖项信息,尽管运行了
使缓存无效/重新启动…
。我将提交一个bug!他说这是错误报告。截至目前,它正在等待JetBrains的反馈:我没有回答我的问题。这些是gradle管理的库,这是gradle项目。抱歉,我现在正在更新问题。