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

时间:2014-06-07 22:38:27

标签: 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识别它的方式包含此信息?

2 个答案:

答案 0 :(得分:7)

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

  1. 转到“项目设置”,选择模块并转到“依赖关系”选项卡。设置要捆绑到的库的范围'编译'。在这个例子中,它是' checker-framework'图书馆。 ' Groovy的2.3.6'由于其范围设置为'已提供',因此不会捆绑图书馆。保存更改。

    Module dependencies tab

  2. 准备部署插件

    Prepare plugins for deployment action

  3. 然后你有插件,压缩,准备好部署(上传到repo或本地安装)在项目的根目录。它将包含lib文件夹以及所有必需的jar。

答案 1 :(得分:3)

官方支持的插件依赖关系管理解决方案是将Gradle与gradle-intellij-plugin一起使用,通过Gradle的dependenciesintellij.plugins入口点。如果要在工件上添加依赖项(例如,在Maven Central上托管),则像在基于Gradle的项目中一样配置dependencies

buildscript {
    repositories {
        mavenCentral()
    }
}

dependencies {
    compile("org.scala-lang:scala-library:2.11.0")
}

intellij.plugins入口点会在当前项目中添加工件,并在plugin.xml文件中添加<depends>标记。要在您自己的位置安装外部插件,例如,如果您使用的是Plugin Extensions功能(假设该插件位于JetBrains Plugin Repository上),请使用以下代码段:

plugins {
    id "org.jetbrains.intellij" version "0.2.13"
}

intellij {
    //...
    plugins "org.intellij.scala:2017.2.638"
}