Gradle构建在Intellij中工作正常,但完全相同的构建脚本失败,命令行上有100多个错误

时间:2013-06-13 21:21:54

标签: gradle

在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任务也可以正常工作。

2 个答案:

答案 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模块文件夹
  • 关闭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上失败