我正在为IntelliJ IDEA开发一个插件。我想这样做的方法是在IDEA中创建一个插件项目,然后将其打包到适当的META-INF/plugin.xml
的jar中,然后从jar中安装插件。如何为IntelliJ IDEA插件指定库依赖关系?
问题是我想添加一个依赖于org.scala-lang:scala-library:2.11.0
。我将这个指定为IDEA项目中的一个库依赖项,但是这些信息似乎永远不会传递给生成的JAR。
如何以IntelliJ IDEA能识别它的方式包含此信息?
我正在为IntelliJ IDEA开发一个插件。我想这样做的方法是在IDEA中创建一个插件项目,然后将其打包到适当的META-INF/plugin.xml
的jar中,然后从jar中安装插件。如何为IntelliJ IDEA插件指定库依赖关系?
问题是我想添加一个依赖于org.scala-lang:scala-library:2.11.0
。我将这个指定为IDEA项目中的一个库依赖项,但是这些信息似乎永远不会传递给生成的JAR。
如何以IntelliJ IDEA能识别它的方式包含此信息?
据我所知,你想用你的插件捆绑一些库(例如scala库)。 这很简单。
转到项目设置,选择模块并转到依赖关系选项卡。将要捆绑的库的范围设置为“编译”。在这个例子中它是'checker-framework'库。 'groovy-2.3.6'库因其范围设置为'已提供'而不会捆绑在一起。保存更改。
准备插件部署
然后你有插件,拉链,准备部署(上传到回购或本地安装)项目的根。它将包含lib
文件夹和所有必需的罐子。
的官方支持的插件依赖关系管理解决方案是使用摇篮与gradle-intellij-plugin,通过摇篮的dependencies
或intellij.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"
}
你是什么意思,“从来没有这个信息似乎传递到生成的JAR“?你在看什么?你得到什么错误? –
[记录的插件jar结构](http://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+Plugin+Structure)没有提供任何方式来指定jar中的库依赖项。我希望有一些其他的方式来做到这一点(也许聪明的插件依赖项)。 – Owen
你在使用maven吗? –