Gradle build在Intellij中运行良好,但完全相同的构建脚本在100+;命令行上的错误
在IntelliJ IDEA内部运行gradle构建工作正常。如果我从命令行运行它,它在src的每个字符上都会给出错误 任务“:compileJava”的执行失败 我猜它找不到编译器,这很奇怪,因为从同一个命令行运行javac表明它是活动的 这是我真正感到困惑的时刻之一。这是虫子吗?IDEA是否插入了阻止您使用具有相同构建脚本的命令行的内容?当然,所有的想法都是通过命令行来实现的 非常感谢您的帮助 编辑: 命令行上的错误包括数百个此类错误: /***.java:89: 未闭合字符文字 '±', '§', '~', '`', '\'', ^ /***.java:94: 类型的非法开始 用于(int x=0;xGradle build在Intellij中运行良好,但完全相同的构建脚本在100+;命令行上的错误,gradle,Gradle,在IntelliJ IDEA内部运行gradle构建工作正常。如果我从命令行运行它,它在src的每个字符上都会给出错误 任务“:compileJava”的执行失败 我猜它找不到编译器,这很奇怪,因为从同一个命令行运行javac表明它是活动的 这是我真正感到困惑的时刻之一。这是虫子吗?IDEA是否插入了阻止您使用具有相同构建脚本的命令行的内容?当然,所有的想法都是通过命令行来实现的 非常感谢您的帮助 编辑: 命令行上的错误包括数百个此类错误: /***.java:89: 未闭合字符文字 '±',
实际上,类文件中的每一行都会抛出一个错误。正如我所说,使用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
混为一谈,在我的例子中解决了这个问题:
- 重命名
module文件夹hello world
- 关闭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说成功了,但命令行失败了。