Griffon官方教程:无法成功构建用lazybones生成的griffon-swing-groovy项目

Griffon official Tutorial: unable to successfully build griffon-swing-groovy project generated with lazybones

我正在关注 Griffon official Tutorial,但我无法使用 groovy 作为主要语言并作为 UI 库获得它 运行。

这是我的环境:

$ gvm version
Groovy enVironment Manager 2.4.2

$ lazybones -version
Lazybones version 0.8.1

$gradle --version
------------------------------------------------------------
Gradle 2.4
------------------------------------------------------------

Build time:   2015-05-05 08:09:24 UTC
Build number: none
Revision:     5c9c3bc20ca1c281ac7972643f1e2d190f2c943c

Groovy:       2.3.10
Ant:          Apache Ant(TM) version 1.9.4 compiled on April 29 2014
JVM:          1.8.0_45 (Oracle Corporation 25.45-b02)
OS:           Mac OS X 10.9.5 x86_64

lazybones 模板(在 $HOME/.lazybones/templates 中找到)是:griffon-javafx-java-1.3.0.zip griffon-swing-groovy-1.3.0.zip griffon-swing-java-1.3.0.zip.

因为我想使用 groovy 作为主要语言和 Swing 作为 UI 库,我 运行 以下命令接受所有默认值:

$ lazybones create griffon-swing-groovy sample

然后$ cd sample$ gradle build

不幸的是 $ gradle build:compileGroovy 失败并出现以下错误:

error: SampleController does not implement griffon.core.artifact.GriffonController @griffon.metadata.ArtifactProviderFor(value=griffon.core.artifact.GriffonController.class) public class SampleController
error: SampleModel does not implement griffon.core.artifact.GriffonModel @griffon.metadata.ArtifactProviderFor(value=griffon.core.artifact.GriffonModel.class) public class SampleModel
error: SampleView does not implement griffon.core.artifact.GriffonView @griffon.metadata.ArtifactProviderFor(value=griffon.core.artifact.GriffonView.class) public class SampleView

3 errors
startup failed:
Compilation failed; see the compiler error output for details.

1 error

:compileGroovy FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileGroovy'.
> Compilation failed; see the compiler error output for details.

我理解错误的实际含义,但我想知道是我的设置有问题,还是教程有问题。

你知道出了什么问题吗?我该如何解决?

更新:似乎 gradle v2.4 改变了注释代码的编译方式,导致构建失败。解决方案是将 gradle 降级为 v2.2.1。 此问题已在 github.

上进行跟踪

有兴趣的朋友可以通过gvm安装gradle的多个版本,如下:

$ gvm install gradle 2.2.1

如果您想查看可用的版本(以及当前正在使用的版本),请发出以下命令:

$ gvm list gradle

提前致谢, zxxz

的确,问题是 Gradle 2.4 添加了对 Groovy 源代码的 APT 支持,这破坏了 Jipsy/Gipsy。解决方法是同时降级到 Gradle 2.3。

降级到 gradle v2.2.1 允许成功构建。我用更多细节更新了我自己的问题。