今天的30天挑战,我决定学习JBoss Forge. JBoss Forge是一个快速应用开发工具,基于Java程序构建Maven. 可以帮助Java开发者快速开始Web程序开发。这篇博客,我们会用JBoss Forge开发一个很简单的待办清单程序,会展示基于RESTfull Web服务的JaxRS, 可接受基于前端的AngluarJS. 所有这些都用JBoss Forge完成,不用编写任何代码,开始吧。
前提准备
- 在OpenShift上注册。OpenShift完全免费,红帽给每个用户免费提供了3个Gears来运行程序。目前,这个资源分配合计有每人1.5GB内存,3GB磁盘空间。
- 掌握Java基础知识。
- 掌握Git基础知识,Git是一个分布式的版本控制和源代码管理系统,如果不了解Git,可以参考这篇指导。
- 安装最新的Java Development Kit(JDK), 可以安装OpenJDK 7或者Oracle JDK 7, OpenShift支持OpenJDK 6 和7.
- 从官网下载最新的Eclipse包,目前最新版本叫Kepler.
安装eclipse很简单,只需解压下载的包就可,Linux或者Mac上,打开终端输入以下命令:
$ tar -xzvf eclipse-jee-kepler-R-*.tar.gz
Windows上,用7-zip或者其他解压工具解压,解压后,会有一个eclipse的文件夹,也可以对可执行文件创建一个快捷方式。
第一步:安装OpenShift和Jboss Forge Eclipse插件
下载和解压Eclipse Kepler IDE后,打开Eclipse导航到项目空间,Help>Eclipse Marketplace, 可看到如图界面:
在搜索框内,输入'jboss tools' 点击Go搜索。
点击搜索后,可以看到如图'JBoss Tools(Kepler)'显示在第一个结果。
现在点击install, 可以看到可装插件的列表,由于本文是演示OpenShift, 我们只选'Jboss OpenShift Tools', 选择之后点'Confirm'键。
接下来可以看到要求你接受服务条款,点击'I accept the terms of the license agreement'然后点Finish.
接下来Eclipse会有一个提示框,因为这个插件是未签名的。点击OK,然后被要求重启Eclipse来适用这些更新。
第二步:更新Jboss Forge安装包到1.4.1
JBoss Forge插件用的老版本1.3.1, 本文我们用1.4.1, 因为Jboss Forge AngularJS插件不支持1.3.1. 从http://forge.jboss.org/下载安装包,然后解压,打开Eclipse Preferences如图:
Windows上,打开Windows>Preferences.
在preferences下,找到如图所示Forge>Installed Forge Runtimes, 添加新的runtime.
现在点击'Add'添加新的Forge runtime,如图,输入信息后点击OK.
添加后,选择它为默认安装,如图,点击OK.
第三步:启动JBoss Forge
更新JBoss Forge版本后,启动forge. 打开Forge控制台导航到Window>Show View>Other>Forge>Forge Console.
双击'Forge Console'可以看到在Eclipse里多了个页面,可以在这里启动/停止Forge.
点击绿色按钮启动forge可以看到如图:
第四步:创建Maven项目
现在已经成功启动了Forge 1.4.1, 开始创建第一个Forge Maven项目。
要创建新项目,在Forge控制台输入以下命令:
[no project] forge $ new-project --named todoapp --topLevelPackage com.todoapp --finalName todoapp
这个命令让Forge创建一个名为todoapp的项目,用顶层包com.todoapp, 最终产品名也是todoapp.项目创建后会被作为Maven项目导入Eclipse.
输入以上命令后,Forge会问你是否想用以下路径作为项目路径,如果直接按回车键,会选择默认路径。
你可以通过设置ACCEPT_DEFAULTS为true使Forge给每个命令自动选择默认选项,在Forge shell, 运行以下命令:
set ACCEPT_DEFAULTS true;
第五步:添加Persistence
Forge同样也使得在程序里添加基于presistence的JPA很简单,要添加JPA, 只需在Forge Shell里运行以下命令:
[todoapp] todoapp $ persistence setup --provider HIBERNATE --container JBOSS_AS7
它会创建persistence.xml然后绑定到java:jboss/datasources/ExampleDS.
第六步:创建Todo实体
现在创建一个Todo JPA实体,添加4个字段
[todoapp] todoapp $ entity --named Todo [todoapp] Todo.java $ field string --named task [todoapp] Todo.java $ field string --named description [todoapp] Todo.java $ field temporal --type DATE --named createdOn [todoapp] Todo.java $ field boolean --named completed