【问题标题】:Gradle fails trying to build class using PsiMethod in IntelliJ Plugin projectGradle 尝试在 IntelliJ 插件项目中使用 PsiMethod 构建类失败
【发布时间】:2019-08-22 06:49:31
【问题描述】:

我有一个 Intellij 插件项目,我可以在不使用 PsiMethod 类的情况下成功构建它。我已经使用这个intellij plugin guide 生成了这个项目

只要我使用 PsiMethod 类添加代码 (来自Intellij SDK code_samples directory

智能感知找不到该类的任何 GOTO 信息。

然后我可以将我的项目设置模块从 JAVA_1.8.0 切换到

通过将其添加到平台设置 SDK 中:

这现在添加了智能感知,让我能够通过 CMD+click 导航到 PsiMethod 类。

但是,如果我尝试运行我的“插件”gradle configratuion。它因运行错误而停止:runIde。

从 bash 运行 compileJava 命令我得到:

$ ./gradlew compileJava


> Task :compileJava FAILED
/Users/cody/IdeaProjects/plugintest/src/main/java/com/plugintest/TestClass.java:104: error: cannot find symbol
            PsiMethod containingMethod = PsiTreeUtil.getParentOfType(element, PsiMethod.class);
            ^
  symbol:   class PsiMethod
  location: class ParticleContainerManager
/Users/cody/IdeaProjects/plugintest/src/main/java/com/plugintest/TestClass.java:104: error: cannot find symbol
            PsiMethod containingMethod = PsiTreeUtil.getParentOfType(element, PsiMethod.class);
                                                                              ^
  symbol:   class PsiMethod
  location: class ParticleContainerManager
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors

intellij中的gradle源码集如下:

当我 CMD+单击 PsiMethod 类时,它显示以下 JAR 源:

此源位于以下父文件夹中:

如何将此源添加到我的 gradle 配置中?它不应该自动检测我的智能感知项目正在利用什么吗?

我是否需要更改项目目录中的 gradle.* 文件中的某些内容?

编辑: 使用 Yann 的答案:

我在 build.gradle 文件中添加了以下行:

intellij {
    version '2019.2'
    plugins 'java'
}

它有效!

【问题讨论】:

    标签: java gradle intellij-idea intellij-plugin


    【解决方案1】:

    请确保添加 Java 插件作为单独的依赖项。现在从 2019.2 开始需要这样做:https://blog.jetbrains.com/platform/2019/06/java-functionality-extracted-as-a-plugin/

    【讨论】:

      猜你喜欢
      • 2018-10-03
      • 1970-01-01
      • 1970-01-01
      • 2012-10-19
      • 2013-08-17
      • 2021-11-15
      • 2020-01-04
      • 1970-01-01
      • 2021-07-08
      相关资源
      最近更新 更多