2014-06-07 103 views
9

我正在为IntelliJ IDEA开发一个插件。我想这样做的方法是在IDEA中创建一个插件项目,然后将其打包到适当的META-INF/plugin.xml的jar中,然后从jar中安装插件。如何为IntelliJ IDEA插件指定库依赖关系?

问题是我想添加一个依赖于org.scala-lang:scala-library:2.11.0。我将这个指定为IDEA项目中的一个库依赖项,但是这些信息似乎永远不会传递给生成的JAR。

如何以IntelliJ IDEA能识别它的方式包含此信息?

+0

你是什么意思,“从来没有这个信息似乎传递到生成的JAR“?你在看什么?你得到什么错误? –

+0

[记录的插件jar结构](http://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+Plugin+Structure)没有提供任何方式来指定jar中的库依赖项。我希望有一些其他的方式来做到这一点(也许聪明的插件依赖项)。 – Owen

+0

你在使用maven吗? –

回答

5

据我所知,你想用你的插件捆绑一些库(例如scala库)。 这很简单。

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

    Module dependencies tab

  2. 准备插件部署

    Prepare plugins for deployment action

  3. 然后你有插件,拉链,准备部署(上传到回购或本地安装)项目的根。它将包含lib文件夹和所有必需的罐子。

0

的官方支持的插件依赖关系管理解决方案是使用摇篮与gradle-intellij-plugin,通过摇篮的dependenciesintellij.plugins入口点。如果你想添加上一个神器(前托管在Maven的中央)的依赖,然后配置dependencies就像你通常会在基于摇篮项目:

buildscript { 
    repositories { 
     mavenCentral() 
    } 
} 

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

intellij.plugins切入点,将在增加的假象目前的项目,以及<depends>标签到您的plugin.xml文件。 ,如果你使用的是Plugin Extensions功能(假设该插件托管在JetBrains Plugin Repository)安装外部插件旁边自己的,例如,可以使用下面的代码片段:

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

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