在IntelliJ IDEA中运行gradle构建工作正常。如果我从命令行运行它,则无法在src的每个字符上给出错误。
“任务执行失败”:compileJava'。“
我猜它无法找到奇怪的编译器,因为从同一命令行运行javac显示它是活的并且正在踢。
这是我真正难倒的那一刻。这是一个错误吗? IDEA是否插入了一些东西来阻止您使用具有相同构建脚本的命令行?当然,IDEA正在做的就是到达命令行了吗?
非常感谢任何帮助。
编辑:
命令行上的错误包括数百这类错误:
/ *** .java:89:
未公开的字符文字 ''','§','〜','`','\'', ^
/ *** .java:94:
非法启动类型 for(int x = 0; x< forbidden.length; x ++){ ^
/ *** .java:94:
')'预计 for(int x = 0; x< forbidden.length; x ++){ ^
字面上,类文件中的每一行都会引发错误。就像我说的那样,使用内置构建过程的IDEA编译很好,因为它使用Jet Gradle插件。此外,在命令行上,gradle clean任务也可以正常工作。
答案 0 :(得分:3)
它可能没有关系,但我今天在Intellij中遇到了类似的问题,Gradle命令行因许多编译失败而失败,但Intellij没有显示任何问题。这发生在项目模块名称的相当大的重构之后。当然我认为IDE是错误的,因为它比命令行更复杂。我发现在两个不同的实例中我需要稍微不同的方法!!
解决方案1
我的解决方案是在intellij 构建 - >“重建项目”,然后是“刷新所有Gradle项目”按钮,这是蓝色的圆形箭头按钮“Gradle”工具窗口的顶部(查看 - >“工具窗口” - > Gradle )
解决方案2
在另一个实例中,我还必须先使用 Ctrl-Alt-Shift-S 删除所有intellij外部库,以打开项目Strucutre窗口。然后在库下删除所有。然后我按照上面提到的“刷新所有Gradle项目”进行了跟进
我不完全确定gradle刷新按钮的作用是什么。在一天结束时,这两个步骤都是由IDE强加的额外复杂层的原因和解决方案。规则:在没有意义的情况下,始终信任命令行并在IDE上击败它。
答案 1 :(得分:1)
我遇到了以下问题
.
├── build.gradle
├── hello-world
├── plugin
│ └── hello-world
└── settings.gradle
3 directories, 2 files
的build.gradle
rootProject.name = "root-hello-world"
settings.gradle
include ':hello-world'
include ':plugin:hello-world'
某些动机intellij将:plugin:hello-world
与:hello-world
混为一谈,在我的情况下解决它:
hello-world
模块文件夹清除项目文件夹
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上失败