[译] 第十七天:JBoss Forge - 用JBoss Forge和OpenShift构建和部署Java EE 6 AngularJS程序
2014-01-02 17:29
323 查看
前言
今天的30天挑战,我决定学习JBoss Forge. JBoss Forge是一个快速应用开发工具,基于Java程序构建Maven. 可以帮助Java开发者快速开始Web程序开发。这篇博客,我们会用JBoss Forge开发一个很简单的待办清单程序,会展示基于RESTfull Web服务的JaxRS, 可接受基于前端的AngluarJS. 所有这些都用JBoss Forge完成,不用编写任何代码,开始吧。[todoapp] Todo.java $ rest setup --activatorType APP_CLASS ***SUCCESS*** Installed [forge.maven.WebResourceFacet] successfully. ***SUCCESS*** Installed [forge.spec.servlet] successfully. ***SUCCESS*** Installed [forge.spec.jaxrs.applicationclass] successfully. ***SUCCESS*** Installed [forge.spec.jaxrs] successfully. ***SUCCESS*** Rest Web Services (JAX-RS) is installed. Wrote /Users/shekhargulati/dev/workspaces/forge/todoapp/src/main/webapp Wrote /Users/shekhargulati/dev/workspaces/forge/todoapp/pom.xml Wrote /Users/shekhargulati/dev/workspaces/forge/todoapp/src/main/java/com/todoapp/rest/RestApplication.java [todoapp] Todo.java $
View Code
以上命令,我们用了Application class去激活JAX-RS而不是在web.xml里定义,以上命令创建了一个叫RestApplication的类,继承javax.ws.rs.ApplicationPath.
现在用Forge生成RESTful终结点。
[todoapp] todoapp $ rest endpoint-from-entity --contentType application/json com.todoapp.model.Todo.java
以上命令为Todo JPA实体所需的所有注释和Java代码创建了一个遍准的RESTfull web服务。
第八步:AngularJS前端架构
Forge支持的默认架构机制是JSF, 不过你可以随意选择其他架构技术如AngularJS, 要用AngularJS,需要安装AngularJS Scaffold插件。在Forge控制台,输入以下命令会安装Forge AngularJS插件。
[todoapp] todoapp $ forge install-plugin angularjs
装好后可以用以下命令安装AgularJS scanffold
[todoapp] todoapp $ scaffold-x setup --scaffoldType angularjs
这会为Todoapp安装AngularJS, 现在可以为Todo实体生成视图
[todoapp] model $ scaffold-x from Todo.java
现在就成功创建了Forge程序。
第九步:部署到OpenShift
最后就只剩部署到OpenShift. OpenShift JBoss tools插件使得从Eclipse部署Java web程序很简单。本文,我们会部署一个做好的Eclipse程序到OpenShift, 你也可以参考我早先的博客用集成的OpenShift Eclipse.打开eclipse点击File>New>Other>OpenShift Application,如图,点击next.
![](http://images.cnitblog.com/blog/506993/201401/02172323-857c2b9474fa4184afc4cac841c2e350.png)
点击'Next'后,会要求输入你的OpenShift账号密码,如果你还没注册,可以点击'sign up here'链接去注册。输入账号密码后,勾上'Save password'就不用每次都输入密码了,点击'Next'.
![](http://images.cnitblog.com/blog/506993/201401/02172359-612cd3b062c244998475d200c1901c1d.png)
然后,会要求你创建OpenShift域名,每个账号都需要一个域名区分其他用户,一个账号只有一个域名,域名是openshift分给程序的url中的一部分,例如,你的程序叫'awesomeapp',你的空间叫'onopenshiftcloud', 程序的url就是 http://awesomeapp-onopenshiftcloud.rhcloud.com. 输入你的唯一域名点finish.
![](http://images.cnitblog.com/blog/506993/201401/02172451-83fba5ea563d44638a0247f3a3aef276.png)
接着会要求你安装todoapp, 配置服务适配设置,选择默认设置点next。
![](http://images.cnitblog.com/blog/506993/201401/02172638-122b435b4c7049f8b5e80fe04d6c8f61.png)
接下来会要求你指定克隆git仓库的路径和远程git的名字,选择默认设置。
最后,点击'finish'就完成了。这会创建一个叫gear的程序容器,安装所需的SELinux策略和cgroup配置,OpenShift也会为你安装一个私有git仓库,克隆到本地,然后它会把DNS传播到网络,最后,项目会被导入到你的eclipse空间。
OpenShift Eclipse工具会整合这些更新,会问你是否想推送程序代码到OpenShift.
![](http://images.cnitblog.com/blog/506993/201401/02172719-9ccd0ef6db5e499ca05c87081671ed84.png)
你可以在线访问程序http://todoapp-{domain-name}.rhcloud.com,替换{domain-name}为你自己的域名。
![](http://images.cnitblog.com/blog/506993/201401/02172801-0c38e30e01e74e37babdd5d884c953ad.png)
总结
本文我们讲了怎样用JBoss Forge和OpenShift Eclipse集成工具来创建Java EE程序。 OpenShift Eclipse插件让OpenShift使用起来很方便,如果你是一个Java(EE)开发者,正在寻找一个部署平台,建议试试OpenShift.原文:https://www.openshift.com/blogs/day-17-jboss-forge-java-ee-6-angularjs-application-on-openshift
相关文章推荐
- Day 17: 使用 JBoss Forge 和 OpenShift 构建部署 JAVA EE 6 应用
- jboss 4.0.4 GA构建、部署及初始化duke's bank应用的build文件
- 教你一步一步部署.net免费空间OpenShift系列之三------上传ASP.net程序
- jboss: Server/default/Deploy(部署Jboss用用程序的目录)
- 使用 Node.js、Express、AngularJS 和 MongoDB 构建一个Web程序
- 在应用服务器上部署我的接口程序:weblogic/jboss/spring/hibernate/myeclipse
- maven构建的web程序在tomcat7下的热部署
- 如何访问状态对JBoss详细的Java EE应用部署的7?
- 如何在Visual Studio 2017中使用C# 7+语法 构建NetCore应用框架之实战篇(二):BitAdminCore框架定位及架构 构建NetCore应用框架之实战篇系列 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架 NetCore入门篇:(十二)在IIS中部署Net Core程序
- 在JBoss AS上部署Mondarian演示程序
- 如何远程debug部署到widefly/JBoss服务器上的J2EE程序
- 基于Bluemix快速构建部署一款Java小程序——微博影响力分析器
- WildFly(Jboss8)部署程序中的一些问题及解决方法
- iOS越狱程序开发(2)- 构建和部署
- linux环境下Jboss程序部署
- JBoss部署Web 程序
- 把.NET程序部署到没有安装.NET Framwork的机器上
- 从头构建android 本地C++语言可执行程序
- JBoss下面部署应用的Log4j日志不能显示问题
- Yeoman构建AngularJs应用初步