在 IDEA 2019.1 & 2020.3 中构建 Intellij 插件
Build Intellij plugin in IDEA 2019.1 & 2020.3
IDEA 2019.1 的构建非常棒!我认为构建 2020.3 只是指向 2020.3 安装文件夹的问题,仅此而已,但它离它还很远。
那是我的 gradle.build
group 'com.test.plugin'
version '1.0-SNAPSHOT'
buildscript {
repositories {
maven {
url "https://mydomain/repository/public-maven/"
}
}
dependencies {
classpath group: 'org.jetbrains.intellij.plugins', name: 'gradle-intellij-plugin', version: '0.6.5'
}
}
apply plugin: 'java'
apply plugin: 'org.jetbrains.intellij'
intellij {
localPath 'C:/Program Files/JetBrains/IntelliJ IDEA 2019.1.3'
}
sourceCompatibility = 1.8
repositories {
maven {
url "https://mydomain/repository/public-maven/"
}
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
runtime group: 'com.google.guava', name: 'guava', version: '23.0'
runtime group: 'org.apache.commons', name: 'commons-lang3', version: '3.11'
}
值得一提的是,由于我在受限制的公司代理后面工作,我不能只设置 Intellij 版本以获得构建所需的分发文件 (Intellij.localPath)
在 IDEA 2019.1 上构建它,JDK 1.8 工作正常。为了为 IDEA 2020.3 构建相同的代码,我只是替换了 Intellij 分发路径:
intellij {
//localPath 'C:/Program Files/JetBrains/IntelliJ IDEA 2019.1.3'
localPath 'C:/Dev/apps/ideaIU-2020.3'
}
现在尝试构建它会立即抛出它:
error: cannot access AnAction
bad class file: C:\Dev\apps\ideaIU-2020.3\lib\platform-api.jar(com/intellij/openapi/actionSystem/AnAction.class)
class file has wrong version 55.0, should be 52.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
据我了解,AnAction class 是使用 Java 11 构建的。因此,我将项目 JDK 替换为也使用 JDK11 并从那一刻我开始面临编译错误,比如 com.intellij.psi.PsiJavaFile 找不到。
我可能在这里遗漏了一些概念点。
原来是缺少插件依赖项。
此行无法有效解决此类依赖关系。为了解决这个问题,我不得不删除 apply plugin: 'java' 并设置 intellij.plugin
intellij {
localPath 'C:/Dev/apps/ideaIU-2020.3'
plugin = ['com.intellij.java']
}
IDEA 2019.1 的构建非常棒!我认为构建 2020.3 只是指向 2020.3 安装文件夹的问题,仅此而已,但它离它还很远。
那是我的 gradle.build
group 'com.test.plugin'
version '1.0-SNAPSHOT'
buildscript {
repositories {
maven {
url "https://mydomain/repository/public-maven/"
}
}
dependencies {
classpath group: 'org.jetbrains.intellij.plugins', name: 'gradle-intellij-plugin', version: '0.6.5'
}
}
apply plugin: 'java'
apply plugin: 'org.jetbrains.intellij'
intellij {
localPath 'C:/Program Files/JetBrains/IntelliJ IDEA 2019.1.3'
}
sourceCompatibility = 1.8
repositories {
maven {
url "https://mydomain/repository/public-maven/"
}
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
runtime group: 'com.google.guava', name: 'guava', version: '23.0'
runtime group: 'org.apache.commons', name: 'commons-lang3', version: '3.11'
}
值得一提的是,由于我在受限制的公司代理后面工作,我不能只设置 Intellij 版本以获得构建所需的分发文件 (Intellij.localPath)
在 IDEA 2019.1 上构建它,JDK 1.8 工作正常。为了为 IDEA 2020.3 构建相同的代码,我只是替换了 Intellij 分发路径:
intellij {
//localPath 'C:/Program Files/JetBrains/IntelliJ IDEA 2019.1.3'
localPath 'C:/Dev/apps/ideaIU-2020.3'
}
现在尝试构建它会立即抛出它:
error: cannot access AnAction
bad class file: C:\Dev\apps\ideaIU-2020.3\lib\platform-api.jar(com/intellij/openapi/actionSystem/AnAction.class)
class file has wrong version 55.0, should be 52.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
据我了解,AnAction class 是使用 Java 11 构建的。因此,我将项目 JDK 替换为也使用 JDK11 并从那一刻我开始面临编译错误,比如 com.intellij.psi.PsiJavaFile 找不到。
我可能在这里遗漏了一些概念点。
原来是缺少插件依赖项。
此行无法有效解决此类依赖关系。为了解决这个问题,我不得不删除 apply plugin: 'java' 并设置 intellij.plugin
intellij {
localPath 'C:/Dev/apps/ideaIU-2020.3'
plugin = ['com.intellij.java']
}