intellij 插件:在模块上添加 Jar 库

intellij plugin: add Jar library on module

我正在创建一个框架,并在 addSupport 方法中尝试添加对我的 jar 库的依赖。但是我当前的解决方案不起作用:( table 中确实出现了依赖项,但它无法访问 类,它在库检查器中以黄色突出显示。

WriteAction.run<RuntimeException> {
  val myLib : VirtualFile = VirtualFileManager.getInstance()
      .findFileByNioPath(Path.of("....jar"))!!
      .copy(...)

  val libraryTable = model.moduleLibraryTable
  val library = libraryTable.createLibrary(myLib.name)
  val libraryModel = library.modifiableModel
  libraryModel.addRoot(myLib, OrderRootType.CLASSES)
  libraryModel.commit()
}

如何正确的给模块添加库依赖?

我找到方法了,需要另外说明使用jar文件系统。也不需要 WriteAction 包装器。

val myLib : VirtualFile = VirtualFileManager.getInstance()
      .findFileByNioPath(Path.of("....jar"))!!
      .copy(...)

val libraryTable = model.moduleLibraryTable
val library = libraryTable.createLibrary(myLib.name)
val libraryModel = library.modifiableModel
libraryModel.addRoot(
  JarFileSystem.getInstance().getJarRootForLocalFile(myLib)!!,
  OrderRootType.CLASSES)
libraryModel.commit()