Intellij idea 如何为IntelliJ IDEA插件指定库依赖项?

Intellij idea 如何为IntelliJ IDEA插件指定库依赖项?,intellij-idea,intellij-plugin,Intellij Idea,Intellij Plugin,我正在为IntelliJ IDEA开发一个插件。我要做的就是在IDEA中创建一个插件项目,然后用适当的META-INF/plugin.xml将其打包到一个jar中,然后从jar中安装插件 问题是我想在org.scala lang:scala library:2.11.0上添加一个依赖项。我在IDEA项目中将其指定为库依赖项,但这些信息似乎从未传递到生成的JAR 如何以IntelliJ IDEA能够识别的方式包含这些信息?据我所知,您希望将一些库(例如scala库)与插件捆绑在一起。 这很简单 转

我正在为IntelliJ IDEA开发一个插件。我要做的就是在IDEA中创建一个插件项目,然后用适当的
META-INF/plugin.xml
将其打包到一个jar中,然后从jar中安装插件

问题是我想在
org.scala lang:scala library:2.11.0
上添加一个依赖项。我在IDEA项目中将其指定为库依赖项,但这些信息似乎从未传递到生成的JAR


如何以IntelliJ IDEA能够识别的方式包含这些信息?

据我所知,您希望将一些库(例如scala库)与插件捆绑在一起。 这很简单

  • 转到“项目设置”,选择“模块”,然后转到“依赖项”选项卡。将要捆绑的库的作用域设置为“编译”。在本例中,它是“checker framework”库groovy-2.3.6“由于其作用域设置为“已提供”,因此不会绑定该库”。保存更改

  • 为部署准备插件

  • 然后,在项目的根目录中,您就有了一个已压缩的插件,可以进行部署(上传到repo或在本地安装)。它将包含
    lib
    文件夹和所有必要的jar


  • 官方支持的插件依赖关系管理解决方案是通过Gradle或入口点将Gradle与一起使用。如果您想在工件上添加依赖项(例如,托管在Maven Central上),则像在基于Gradle的项目中通常那样配置
    依赖项

    buildscript {
        repositories {
            mavenCentral()
        }
    }
    
    dependencies {
        compile("org.scala-lang:scala-library:2.11.0")
    }
    
    intellij.plugins
    入口点将在当前项目中添加一个工件,并在
    plugin.xml
    文件中添加一个标记。要在自己的插件旁边安装外部插件,例如,如果您正在使用该功能(假设插件托管在上),请使用以下代码段:

    plugins {
        id "org.jetbrains.intellij" version "0.2.13"
    }
    
    intellij {
        //...
        plugins "org.intellij.scala:2017.2.638"
    }
    

    您所说的“这些信息似乎永远不会传递到生成的JAR”是什么意思?你在看什么?您得到了什么错误?没有提供任何方法来指定jar中的库依赖项。我希望有其他方法可以做到这一点(可能是涉及插件依赖的聪明方法)。五秒钟的网络搜索返回了这个结果,我认为这与您正在做的非常接近:嗯,这有点相关,但我真的不想依赖Scala插件,而只想依赖Scala库。嗯,目前我实际上在使用SBT,但是,是的,该库是以与Maven相同的方式从Maven存储库中检索的。但是,使用实际的Maven是一种选择。