Gradle build在Intellij中运行良好,但完全相同的构建脚本在100+;命令行上的错误

Gradle build在Intellij中运行良好,但完全相同的构建脚本在100+;命令行上的错误,gradle,Gradle,在IntelliJ IDEA内部运行gradle构建工作正常。如果我从命令行运行它,它在src的每个字符上都会给出错误 任务“:compileJava”的执行失败 我猜它找不到编译器,这很奇怪,因为从同一个命令行运行javac表明它是活动的 这是我真正感到困惑的时刻之一。这是虫子吗?IDEA是否插入了阻止您使用具有相同构建脚本的命令行的内容?当然,所有的想法都是通过命令行来实现的 非常感谢您的帮助 编辑: 命令行上的错误包括数百个此类错误: /***.java:89: 未闭合字符文字 '±',

在IntelliJ IDEA内部运行gradle构建工作正常。如果我从命令行运行它,它在src的每个字符上都会给出错误

任务“:compileJava”的执行失败

我猜它找不到编译器,这很奇怪,因为从同一个命令行运行javac表明它是活动的

这是我真正感到困惑的时刻之一。这是虫子吗?IDEA是否插入了阻止您使用具有相同构建脚本的命令行的内容?当然,所有的想法都是通过命令行来实现的

非常感谢您的帮助

编辑:

命令行上的错误包括数百个此类错误:

/***.java:89:

未闭合字符文字 '±', '§', '~', '`', '\'', ^

/***.java:94:

类型的非法开始 用于(int x=0;x /***.java:94:

")"预期" 用于(int x=0;x
实际上,类文件中的每一行都会抛出一个错误。正如我所说,使用IDEA内置构建过程进行编译很好,因为它使用了Jet-Gradle插件。此外,在命令行上,Gradle clean任务也可以正常工作。

这可能没有关系,但我今天在Intellij中遇到了类似的问题,Gradle命令行在man上失败了y编译失败,但Intellij没有显示出任何问题。这是在对项目模块名称进行了大量重构之后发生的。当然,我认为IDE是错误的,因为它比命令行更复杂。我发现在两个不同的实例中,我需要稍微不同的方法

解决方案1

我的解决方案是在intellij构建->“重建项目”中,然后是一个“刷新所有Gradle项目”按钮,它是“Gradle”工具窗口顶部的蓝色圆形箭头按钮(查看->“工具窗口”->Gradle

解决方案2

在另一个例子中,我还必须首先使用Ctrl-Alt-Shift-S删除所有intellij外部库,以打开projects Structure窗口。然后在libraries下将它们全部删除。然后,我使用上面提到的“刷新所有Gradle项目”


我不完全确定gradle refresh按钮到底在做什么。归根结底,这两个步骤都是由于IDE增加了一层复杂性,并且解决了这一问题。规则:始终相信命令行,在IDE没有意义的时候敲打它。

我有以下问题

.
├── build.gradle
├── hello-world
├── plugin
│   └── hello-world
└── settings.gradle

3 directories, 2 files
格雷德尔先生

rootProject.name = "root-hello-world"
格雷德尔酒店

include ':hello-world'
include ':plugin:hello-world'
出于某种动机,intellij将
:plugin:hello world
:hello world
混为一谈,在我的例子中解决了这个问题

  • 重命名
    hello world
    module文件夹
  • 关闭intellij项目
  • 清除项目文件夹

    rm -r `find . -type d -name "build"`
    rm `find -name "*.iml"`
    rmdir `find . -type d -empty`
    rm -r .gradle/ .idea/
    
  • 再次导入项目

不确定在子模块中设置类似于
project.name=plugin hello world
的东西是否有效


Obs:正如gradle-line命令中所说,即使在intellij上失败,构建也总是有效的

您如何在IDEA内部运行gradle构建?具体(和完整)是什么您在命令行上收到的错误消息?我正在IDEA中使用JetGradle插件。我编辑了原始消息以包含命令行错误的一部分-感谢您花时间查看它。IntelliJ将告诉JetGradle在运行时使用什么JDK,您的JAVA_HOME/GRADLE_HOME可能未正确设置。我收到相同的错误。Intellij说成功了,但命令行失败了。