摘要:會(huì)警告該插件未簽名。以上命令告訴創(chuàng)建一個(gè)名為的項(xiàng)目,使用包。的工具使從部署應(yīng)用非常方便。域名構(gòu)成了分配給應(yīng)用的的一部分。這將為我們創(chuàng)建一個(gè)應(yīng)用容器,自動(dòng)配置和。同時(shí)將創(chuàng)建一個(gè)私有的倉庫并克隆到本地。
編者注:我們發(fā)現(xiàn)了有趣的系列文章《30天學(xué)習(xí)30種新技術(shù)》,正在翻譯,一天一篇更新,年終禮包。下面是第 17 天的內(nèi)容。
今天的“30天學(xué)習(xí)30種新技術(shù)”挑戰(zhàn),我決定學(xué)習(xí)一下JBoss Forge。JBoss Forge是一個(gè)創(chuàng)建基于Maven的Java應(yīng)用的開發(fā)工具,它可以幫助Java開發(fā)者快速地開發(fā)web應(yīng)用。本文中,我們將使用JBoss Forge開發(fā)一個(gè)簡(jiǎn)單的待辦應(yīng)用,可以為基于Angularjs的前端提供服務(wù)。這一切都可以使用JBoss Forge完成。讓我們開始吧。
預(yù)備注冊(cè)一個(gè)OpenShift賬號(hào)。注冊(cè)是完全免費(fèi)的,Red Hat給每個(gè)用戶三枚免費(fèi)的Gear,可以用Gear運(yùn)行你的應(yīng)用。在寫作此文的時(shí)候,每個(gè)用戶能免費(fèi)使用總共 1.5 GB 內(nèi)存和 3 GB 硬盤空間。
基本Java知識(shí)。
基本的Git知識(shí)。
在你的系統(tǒng)上安裝最新版的JDK。你可以安裝OpenJDK 7和Oracle JDK 7。OpenShift支持 OpenJDK6 和 7。
從官網(wǎng) 下載最新的 Eclipse 包。 在撰寫本文的時(shí)候,最新的Eclipse包叫作Kepler。
安裝eclipse很容易,解壓縮即可。
tar -xzvf eclipse-jee-kepler-R-*.tar.gz第一步 安裝OpenShfit和JBoss Forge的Eclipse插件
打開Eclipse,進(jìn)入你的項(xiàng)目工作空間。打開 Help > Eclipse Marketplace,你會(huì)看到如下屏幕。
在搜索框中搜尋“jboss tools”。第一個(gè)結(jié)果就是“JBoss Tools(Kepler)”。
點(diǎn)擊“安裝”,會(huì)出現(xiàn)選擇安裝插件的列表。由于本文的目的是演示,我們只選上JBoss OpenShift Tools。選中之后點(diǎn)擊“確認(rèn)”。
現(xiàn)在我們需要接受許可協(xié)議。選擇接受后點(diǎn)擊完成。
Eclipse會(huì)警告該插件未簽名。點(diǎn)擊“確認(rèn)”然后Eclipse會(huì)要求重啟,點(diǎn)擊“是”,重啟一下。
第二步 使用 JBoss Forge 1.4.1JBoss Forge使用JBoss Forge 1.3.1,然而本文中將使用1.4.1, 因?yàn)镴Boss Forge Angularjs插件在1.3.1下不工作。所以要從 http://forge.jboss.org/ 下載JBoss Forge。下載之后解壓縮,然后進(jìn)入Eclipse的設(shè)置界面。
在設(shè)置界面,進(jìn)入 Forge > Installed Forge Runtimes,添加一個(gè)新的運(yùn)行時(shí)環(huán)境。
現(xiàn)在點(diǎn)擊“添加”按鈕。填寫詳情后點(diǎn)擊“確認(rèn)”。
將其設(shè)為默認(rèn)安裝:
第四步 開啟JBoss Forge通過 Window > Show View > Other > Forge > Forge Console 開啟 Forge 控制臺(tái)。
雙擊“Forge Console”會(huì)新開一個(gè)標(biāo)簽頁。
點(diǎn)擊綠色按鈕啟動(dòng)forge。
第五步 創(chuàng)建 Maven 項(xiàng)目啟動(dòng) Forge 1.4.1之后, 在forge控制臺(tái)輸入如下命令創(chuàng)建Forge Maven項(xiàng)目。
[no project] forge $ new-project --named todoapp --topLevelPackage com.todoapp --finalName todoapp
以上命令告訴forge創(chuàng)建一個(gè)名為todoapp的項(xiàng)目,使用com.todoapp包。
輸入上述命令后,forge會(huì)詢問你項(xiàng)目的目錄,按回車選擇默認(rèn)選項(xiàng)。
你可以告訴Forge為每個(gè)命令自動(dòng)使用默認(rèn)選項(xiàng),只需設(shè)置ACCEPT_DEFAULTS。在Forge shell中輸入如下命令:
set ACCEPT_DEFAULTS true;第六步 添加JPA
添加JPA很方便。只需在Forge shell中輸入如下命令:
[todoapp] todoapp $ persistence setup --provider HIBERNATE --container JBOSS_AS7
這會(huì)創(chuàng)建 persistence.xml 并綁定到 java:jboss/datasources/ExampleDS。
第七步 創(chuàng)建Todo實(shí)體現(xiàn)在創(chuàng)建一個(gè)Todo的JPA實(shí)體,然后添加以下四個(gè)字段:
[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
你可以使用ls命令查看任何Java類的內(nèi)容。
[todoapp] Todo.java $ ls [fields] private::Date::createdOn; private::Long::id; private::String::description; private::String::task; private::boolean::completed; private::int::version; [methods] public::equals(Object that)::boolean public::getCompleted()::boolean public::getCreatedOn()::Date public::getDescription()::String public::getId()::Long public::getTask()::String public::getVersion()::int public::hashCode()::int public::setCompleted(final boolean completed)::void public::setCreatedOn(final Date createdOn)::void public::setDescription(final String description)::void public::setId(final Long id)::void public::setTask(final String task)::void public::setVersion(final int version)::void public::toString()::String第八步 RESTful web 服務(wù)
現(xiàn)在我們要使用JBOSS Forge為Todo實(shí)體生成REST。因此我們需要設(shè)置JBoss Forge REST插件。
[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 $
上述命令中,我們使用應(yīng)用類激活JAX-RS,這樣就不用在web.xml中定義。我們創(chuàng)建了一個(gè)擴(kuò)展了javax.ws.rs.ApplicationPath的RestApplication類。
現(xiàn)在我們可以用Forge來生成REST了。
[todoapp] todoapp $ rest endpoint-from-entity --contentType application/json com.todoapp.model.Todo.java
上述命令將為我們的Todo JPA實(shí)體創(chuàng)建一個(gè)標(biāo)準(zhǔn)的RESTful web服務(wù)。
第九步 Angular JS 前端Forge默認(rèn)支持JSF。但是你也可以選擇其他技術(shù),例如Angularjs。為了使用Angularjs,我們需要安裝相應(yīng)插件。
在Forge控制臺(tái)輸入如下命令安裝Forge Angularjs插件。
[todoapp] todoapp $ forge install-plugin angularjs
安裝之后配置一下。
[todoapp] todoapp $ scaffold-x setup --scaffoldType angularjs
這會(huì)在我們的待辦應(yīng)用中設(shè)置Angularjs。現(xiàn)在我們可以為Todo實(shí)體生成視圖了。
[todoapp] model $ scaffold-x from Todo.java第十步 部署到OpenShift
萬事具備,只欠部署。 OpenShift的JBoss工具使從Eclipse部署Java應(yīng)用非常方便。
在eclipse中點(diǎn)擊 File > New > Other > OpenShift Application,在下圖所示頁面中點(diǎn)擊“下一步”:
需要填寫OpenShift賬號(hào)信息,如果你還沒有注冊(cè),你可以點(diǎn)擊“現(xiàn)在注冊(cè)”,會(huì)有一個(gè)向?qū)Ы缑嬉龑?dǎo)你注冊(cè)。
接下來要?jiǎng)?chuàng)建一個(gè)OpenShift域名。每一個(gè)賬號(hào)有且僅有一個(gè)獨(dú)特的域名。域名構(gòu)成了OpenShift分配給應(yīng)用的URL的一部分。例如,如果你的應(yīng)用的名字是“awesomeapp”,你的域名是“onopenshiftcloud”,那么應(yīng)用的URL就是 http://awesomeapp-onopenshiftcloud.rhcloud.com。
創(chuàng)建域名之后,會(huì)出現(xiàn)一個(gè)創(chuàng)建應(yīng)用的引導(dǎo)界面。你需要填寫相應(yīng)的信息。我們將創(chuàng)建一個(gè)名為todoapp的應(yīng)用,該應(yīng)用使用 jbosseap-6 。
然后會(huì)要求我們?cè)O(shè)置應(yīng)用,配置適配服務(wù)器。保留默認(rèn)選項(xiàng),點(diǎn)擊“下一步”即可。
接著會(huì)詢問關(guān)于git倉庫的一些信息。保留默認(rèn)選項(xiàng)即可。
最后,點(diǎn)擊“完成”按鈕。這將為我們創(chuàng)建一個(gè)應(yīng)用容器(gear),自動(dòng)配置SELinux和cgroup。OpenShift同時(shí)將創(chuàng)建一個(gè)私有的git倉庫并克隆到本地。然后會(huì)配置DNS。最后,這個(gè)項(xiàng)目將被倒入你的esclipse工作空間。
OpenShift Clipse會(huì)合并改動(dòng),并詢問是否將應(yīng)用代碼推送到OpenShift。
你可以通過訪問 http://todoapp-{domain-name}.rhcloud.com 查看應(yīng)用。將{domain-name}替換為你的OpenShift賬戶域名。
結(jié)語本文介紹了如何使用JBoss Forge和OpenShift Eclipse集成來創(chuàng)建一個(gè)Java EE應(yīng)用。OpenShift Eclipse插件很好用。所以說,如果你是個(gè)尋找部署環(huán)境的Java (EE) 開發(fā)者,那么你可以嘗試下 OpenShift。
原文 Day 17: JBoss Forge——Build and Deploy Java EE 6 AngularJS Applications using JBoss Forge and OpenShift
翻譯 SegmentFault
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/64015.html
摘要:今天的天學(xué)習(xí)種新技術(shù)我決定介紹的集成。會(huì)警告該插件未簽名。同時(shí)將創(chuàng)建一個(gè)私有的倉庫并克隆到本地。熱部署僅僅替換文件而不會(huì)停止服務(wù)。如果將其禁用,那么應(yīng)用將使用。轉(zhuǎn)到視圖發(fā)布改動(dòng)。刪除模板文件以上版本下,為可選。 編者注:我們發(fā)現(xiàn)了有趣的系列文章《30天學(xué)習(xí)30種新技術(shù)》,正在翻譯,一天一篇更新,年終禮包。下面是第 28 天的內(nèi)容。 今天的《30天學(xué)習(xí)30種新技術(shù)》 我決定介紹Op...
摘要:今天我決定學(xué)習(xí)如何使用做網(wǎng)頁鏈接的文本和圖像提取。準(zhǔn)備基本的知識(shí)是必需的,安裝最新的開發(fā)工具包,可以是或。第步啟用使用來進(jìn)行依賴注入。上下文和依賴注入是一個(gè)規(guī)范,能夠使依賴注入在的項(xiàng)目中。在文件夾下建一個(gè)名為中一個(gè)新的文件。 編者注:我們發(fā)現(xiàn)了有趣的系列文章《30天學(xué)習(xí)30種新技術(shù)》,正在翻譯,一天一篇更新,年終禮包。下面是第 18 天的內(nèi)容。 今天我決定學(xué)習(xí)如何使用Java做網(wǎng)...
摘要:現(xiàn)在可以通過點(diǎn)擊指標(biāo)檢查的指標(biāo),該數(shù)據(jù)是可用的格式。健康檢查被添加。現(xiàn)在啟動(dòng),可以看到第步創(chuàng)建現(xiàn)在寫類,它負(fù)責(zé)創(chuàng)建博客條目。為了測(cè)試,做一個(gè)請(qǐng)求第步更新現(xiàn)在,更新方法來從獲取所有的博客文件。 編者注:我們發(fā)現(xiàn)了比較有趣的系列文章《30天學(xué)習(xí)30種新技術(shù)》,準(zhǔn)備翻譯,一天一篇更新,年終禮包。下面是第十三天的內(nèi)容。 我已經(jīng)是一個(gè)使用了8年Java的軟件開發(fā)人員了,我寫過的大多數(shù)應(yīng)用程...
摘要:要安裝,輸入更新到最新版本,執(zhí)行如果需要閱讀額外的安裝命令行工具時(shí)的幫助文件,可以瀏覽使用命令設(shè)置好賬戶,這個(gè)命令會(huì)為你創(chuàng)建一個(gè)命名空間,然后上傳你的到服務(wù)器上。也有一個(gè)插件,但這篇文章中,我會(huì)使用命令行工具。 在30天學(xué)習(xí)30種新技術(shù)的第六天,我決定去學(xué)習(xí)一個(gè) web 開發(fā)框架 : Grails。 Grails 是一個(gè)基于 Groovy 和 Java 的開源 Web 框架。它是 J...
閱讀 2896·2021-10-14 09:50
閱讀 1235·2021-10-08 10:21
閱讀 3669·2021-10-08 10:16
閱讀 3073·2021-09-27 14:02
閱讀 3149·2021-09-23 11:21
閱讀 2141·2021-09-07 10:17
閱讀 417·2019-08-30 14:00
閱讀 2126·2019-08-29 17:26