我正在爲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嗎? –