我正在为 IntelliJ IDEA 开发一个插件。我要解决的方法是在 IDEA 中创建一个插件项目,然后将其打包到一个带有适当的 jar 的 jar 中,然后META-INF/plugin.xml
从 jar 中安装插件。
问题是我想添加对org.scala-lang:scala-library:2.11.0
. 我已将此指定为 IDEA 项目中的库依赖项,但此信息似乎从未传递给生成的 JAR。
如何以 IntelliJ IDEA 能够识别的方式包含这些信息?
我正在为 IntelliJ IDEA 开发一个插件。我要解决的方法是在 IDEA 中创建一个插件项目,然后将其打包到一个带有适当的 jar 的 jar 中,然后META-INF/plugin.xml
从 jar 中安装插件。
问题是我想添加对org.scala-lang:scala-library:2.11.0
. 我已将此指定为 IDEA 项目中的库依赖项,但此信息似乎从未传递给生成的 JAR。
如何以 IntelliJ IDEA 能够识别的方式包含这些信息?
据我了解,您想将一些库(例如 scala 库)与您的插件捆绑在一起。这很简单。
转到项目设置,选择模块并转到依赖项选项卡。将要捆绑的库的范围设置为“编译”。在这个例子中,它是“checker-framework”库。'groovy-2.3.6' 库将不会被捆绑,因为它的范围设置为 'Provided'。保存更改。
为部署准备插件
然后你得到了插件,压缩,准备好在项目的根目录中部署(上传到 repo 或本地安装)。它将包含包含lib
所有必要 jar 的文件夹。
官方支持的插件依赖管理解决方案是通过 Gradle或入口点将Gradle 与gradle-intellij-plugin一起使用。如果您想添加对工件的依赖项(例如托管在 Maven Central 上),请像通常在基于 Gradle 的项目中一样进行配置:dependencies
intellij.plugins
dependencies
buildscript {
repositories {
mavenCentral()
}
}
dependencies {
compile("org.scala-lang:scala-library:2.11.0")
}
入口intellij.plugins
点将在当前项目中添加一个工件,并为您的文件添加一个<depends>
标签。plugin.xml
要与您自己的插件一起安装外部插件,例如,如果您使用插件扩展功能(假设插件托管在JetBrains Plugin Repository上),请使用以下代码段:
plugins {
id "org.jetbrains.intellij" version "0.2.13"
}
intellij {
//...
plugins "org.intellij.scala:2017.2.638"
}