Griffon五分钟入门指南

简介: 版权声明:作者chszs,版权所有,谢绝转载! 一、介绍 Griffon是一个类似于Grails的应用程序框架,用于构建富桌面应用程序,基于Groovy、Java和Swing等技术。

版权声明:作者chszs,版权所有,谢绝转载!

一、介绍
Griffon是一个类似于Grails的应用程序框架,用于构建富桌面应用程序,基于Groovy、Java和Swing等技术。
Griffon采用了习惯优于配置,可以自动化实现很多通用开发任务,而且还有丰富的插件。
Griffon还具有将特征属性绑定到Widget和可扩展的事件系统。这些特性使得用Griffon来构建富互联网应用是极好的选择。
Griffon是一个全生命周期框架:它不仅在创建应用程序、维护应用程序阶段可以自动化,而且在构建和部署阶段也是如此。下面,我们将开始创建、运行、打包、部署一个Java WebStart应用程序,让大家快速掌握Griffon的基本知识。

二、先决条件
1. JDK 6

下载并安装JDK 6以上版本。


2. Griffon包
在http://griffon.codehaus.org/Download 下载Griffon 1.0.2发布包。
http://dist.codehaus.org/griffon/griffon/1.0.x/griffon-1.0.2-bin.zip

三、搭建环境
1. 解压Griffon

将griffon-1.0.2-bin.zip解压到C:\griffon


2. 设置环境变量
设置名为GRIFFON_HOME的环境变量,并把值指向解压目录。
为PATH环境变量添加GRIFFON_HOME/bin值。
注意:一定要设置环境变量,否则在命令行下无法执行griffon命令。
3. 验证
通过CMD进入到命令行模式,执行以下命令:
C:\griffon\bin>griffon help
Welcome to Griffon 1.0.2 - http://griffon-framework.org/
Licensed under Apache Standard License 2.0
Griffon home is set to: C:\griffon
......
注意:首次运行会自动下载安装或升级一些库或包,如下:
griffon-swing-1.0.1-release.zip,
griffon-jumpstart-1.3-release.zip,
griffon-presentation-1.1-release.zip,
griffon-swt-1.0-release.zip,
ant-1.8.2.jar,
ant-launcher-1.8.2.jar,
ant-junit-1.8.2.jar,
jansi-1.7.jar,
jline-0.9.94.jar,
commons-io-2.1.jar,
commons-lang-2.6.jar,
commons-codec-1.6.jar,
commons-collections-3.2.1.jar,
commons-beanutils-1.8.0.jar,
httpcore-4.1.2.jar,
httpclient-4.1.2.jar,
jsch-0.1.45.jar,
jzlib-1..7.jar,
http-builder-0.5.2.jar,
xercesImpl-2.9.1.jar,
ezmorph-1.0.6.jar,
xml-resolver-1.2.jar,
griffon-cli-1.0.2.jar,
griffon-scripts-1.0.2.jar,
griffon-rt-1.0.2.jar,
org.springframework.core-3.1.2.RELEASE.jar,
org.springframework.beans-3.1.2.RELEASE.jar,
org.springframework.context-3.1.2.RELEASE.jar,
org.springframework.context.suppor-3.1.2.RELEASE.jar,
json-lib-2.4-jdk15.jar,
log4j-1.2.16.jar,
slf4j-api-1.6.4.jar,
slf4j-log4j12-1.6.4.jar,
jcl-over-slf4j-1.6.4.jar,
jul-to-slf4j-1.6.4.jar,
groovy-all-1.8.6.jar

4. griffon常用命令
  griffon add-proxy
  griffon app
  griffon archetype-info
  griffon clean
  griffon clear-dependency-cache
  griffon clear-proxy
  griffon compile
  griffon console
  griffon create-addon
  griffon create-app
  griffon create-archetype
  griffon create-command-alias
  griffon create-integration-test
  griffon create-mvc
  griffon create-plugin
  griffon create-script
  griffon create-service
  griffon create-unit-test
  griffon dependency-report
  griffon doc
  griffon generate-view-script
  griffon help
  griffon init
  griffon install-archetype
  griffon install-plugin
  griffon integrate-with
  griffon interactive
  griffon list-archetype-updates
  griffon list-archetypes
  griffon list-plugin-updates
  griffon list-plugins
  griffon list-repositories
  griffon package
  griffon package-archetype
  griffon package-plugin
  griffon plugin-info
  griffon release
  griffon release-archetype
  griffon release-plugin
  griffon remove-proxy
  griffon replace-artifact
  griffon run-app
  griffon run-applet
  griffon run-script
  griffon run-webstart
  griffon set-proxy
  griffon set-version
  griffon shell
  griffon stats
  griffon test-app
  griffon uninstall-archetype
  griffon uninstall-plugin
  griffon upgrade


四、开发初步
1. 创建应用程序

创建应用程序使用griffon create-app命令。比如:
D:\tmp>griffon create-app HelloWorld
Welcome to Griffon 1.0.2 - http://griffon-framework.org/
Licensed under Apache Standard License 2.0
Griffon home is set to: C:\griffon

Base Directory: D:\tmp
Running script C:\griffon\scripts\CreateApp_.groovy
Resolving dependencies...
Dependencies resolved in 538ms.
Environment set to development
Resolving framework plugin dependencies ...
Framework plugin dependencies resolved in 725 ms.
    [mkdir] Created dir: D:\tmp\HelloWorld\griffon-app
    [mkdir] Created dir: D:\tmp\HelloWorld\griffon-app\conf
......
Created Tests for HelloWorld
Created Griffon Application at D:\tmp/HelloWorld

2. 运行应用程序
用Griffon创建的应用程序是桌面应用程序,用户可以安装、Applet应用程序,因此可以让浏览器运行应用程序,或使用WebStart运行等。
Griffon隐藏了各个平台的不同之处,使得应用程序具有可移植性。


要运行应用程序,总共有三种方式:
(1) 以桌面应用程序方式运行程序
D:\tmp>cd HelloWorld
D:\tmp\HelloWorld>griffon run-app
Welcome to Griffon 1.0.2 - http://griffon-framework.org/
Licensed under Apache Standard License 2.0
Griffon home is set to: C:\griffon

Base Directory: D:\tmp\HelloWorld
Running script C:\griffon\scripts\RunApp.groovy
Resolving dependencies...
......
Launching application ...
2012-08-19 18:18:51,273 [main] INFO  griffon.swing.SwingApplication - Initializing all startup groups: [helloWorld]
弹出一窗口程序,如下:

图1:
关闭此窗口程序,输出:
2012-08-19 18:22:48,436 [AWT-EventQueue-0] INFO  griffon.swing.SwingApplication- Shutdown is in process
   [delete] Deleting directory D:\tmp\HelloWorld\staging\windows64
   [delete] Deleting directory D:\tmp\HelloWorld\staging\windows

可见,第一种方式其背后是通过Swing库实现的。

(2) 以Applet程序方式在浏览器中运行
D:\tmp\HelloWorld>griffon run-applet
Welcome to Griffon 1.0.2 - http://griffon-framework.org/
Licensed under Apache Standard License 2.0
Griffon home is set to: C:\griffon
......
     [copy] Copying 11 files to D:\tmp\HelloWorld\staging
     [copy] Copying 19 files to D:\tmp\HelloWorld\dist\applet
     [copy] Copied 5 empty directories to 4 empty directories under D:\tmp\Hello
World\dist\applet
      [zip] Building zip: D:\tmp\HelloWorld\dist\applet\helloWorld-0.1-applet.zip
图2:


由于我安装的是JDK 7,Griffon运行有异常,官方推荐用JDK6。

(3) 以JNLP WebStart项目那样运行
D:\tmp\HelloWorld>griffon run-webstart
Welcome to Griffon 1.0.2 - http://griffon-framework.org/
Licensed under Apache Standard License 2.0
Griffon home is set to: C:\griffon
......
     [copy] Copied 5 empty directories to 4 empty directories under D:\tmp\Hello
World\dist\webstart
      [zip] Building zip: D:\tmp\HelloWorld\dist\webstart\helloWorld-0.1-webstart.zip
图3:


同样是JDK7的问题。难怪官方老是推荐要使用JDK6。

目录
相关文章
|
8月前
|
存储 人工智能 自然语言处理
方案介绍|基于百炼生成向量数据并使用阿里云Milvus存储和检索
阿⾥云Milvus是⼀款云上全托管服务,提供⼤规模向量数据的相似性检索服务。100%兼容开源Milvus,在开源版本的基础上增强了可扩展性,具备易⽤性、可⽤性、安全性、低成本与⽣态优势。阿⾥云Milvus可以⽀持⼏乎所有涉及到向量搜索的场景。例如检索增强⽣成RAG,以及经典的搜索推荐、多模态检索等。阿里云Milvus可存储百炼产生的向量数据,并进行大规模向量数据的检索。本文将重点介绍这一过程的方案。
|
11月前
|
数据采集 安全 文件存储
NAS极速远程访问!贝锐花生壳推出飞牛fnOS专属内网穿透服务
贝锐花生壳与飞牛私有云fnOS合作,推出专属客户端及映射服务,实现3倍传输速率提升。用户只需在fnOS应用中心搜索“花生壳”,一键安装即可享受高速、稳定、安全的远程NAS访问体验。
1340 9
|
存储 监控 NoSQL
揭秘Redis慢查询:这个工具将彻底改变你的性能优化策略!
【8月更文挑战第8天】在互联网应用中,数据库性能常成瓶颈。Redis作为高速内存数据库亦可能遭遇慢查询问题。本文探讨慢查询成因与解决方法。首先定义慢查询及其影响因素,随后介绍Redis内置的慢查询日志功能,通过配置`slowlog-log-slower-than`与`slowlog-max-len`来监控执行时间过长的命令。利用`SLOWLOG get`命令分析日志,定位性能瓶颈所在。以`LRANGE`命令为例,提出数据结构调整、使用流水线、限制返回元素数量、异步执行及优化内存使用等策略。最终实现Redis性能提升,确保应用流畅运行。性能优化需持续监控、分析与调整。
470 1
|
JavaScript Java 关系型数据库
springboot+vue在线动漫信息平台(源码+文档)
这是一篇关于基于SpringBoot的在线动漫信息平台的文章。作者风歌分享了该项目的源码下载链接,并介绍了开发环境,包括后端使用Java、SpringBoot和Mybatis,前端采用Node.js和Vue,数据库为MySQL。系统架构包括会员登录、文章专栏和个人中心等功能模块。适合Java、Web开发爱好者参考,源码获取及技术咨询可联系作者。
|
Java
深入了解 Java 方法和参数的使用方法
方法是一块仅在调用时运行的代码。您可以将数据(称为参数)传递到方法中。方法用于执行特定的操作,它们也被称为函数。
376 4
|
Ubuntu 安全 C语言
Ubuntu 升级系统版本的注意事项:分享一些在Ubuntu升级系统版本时需要注意的事项和建议
Ubuntu 升级系统版本的注意事项:分享一些在Ubuntu升级系统版本时需要注意的事项和建议
587 0
|
JSON 中间件 API
|
存储 监控 数据挖掘
C#医院数字化LIS(检验信息系统)源码
LIS系统能够自动处理大量的医学数据,包括样本采集、样本处理、检测分析、报告生成等。它能够快速、准确地进行化验检测,提高医院的运营效率。LIS系统还提供了丰富的数据分析功能,能够对医院化验室的业务流程进行全面、细致的监控。
303 0
|
JSON 数据库 数据格式
推荐一款管理系统专用 低 代码工具,一天开发一个系统不是梦
Yao是一款Go语言驱动的低代码应用引擎,目前在Github上已有3.8k+Star!使用该框架,你可以通过JSON完成90%的接口和页面开发,用来开发管理系统正合适!Yao的名字源于汉字爻(yáo),是构成八卦的基本符号,看样子作者对八卦还是挺有研究的。
|
XML 网络协议 数据可视化
java插桩-Jacoco java代码覆盖率可视化
java插桩-Jacoco java代码覆盖率可视化
1019 0
java插桩-Jacoco java代码覆盖率可视化