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
允许成功构建。我用更多细节更新了我自己的问题。
我正在关注 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
允许成功构建。我用更多细节更新了我自己的问题。