成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Day 17: 使用 JBoss Forge 和 OpenShift 構(gòu)建部署 JAVA EE 6

YacaToy / 2381人閱讀

摘要:會(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.1

JBoss 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

相關(guān)文章

  • Day 28: OpenShift的Eclipse集成

    摘要:今天的天學(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...

    U2FsdGVkX1x 評(píng)論0 收藏0
  • Day 18: BoilerPipe —— Java開發(fā)者的文章提取工具

    摘要:今天我決定學(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)...

    wwq0327 評(píng)論0 收藏0
  • Day 13: Dropwizard —— 非常棒的Java REST服務(wù)器棧

    摘要:現(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)用程...

    Awbeci 評(píng)論0 收藏0
  • Day 6:在 Java 虛擬機(jī)上使用 Grails 進(jìn)行快速 Web 開發(fā)

    摘要:要安裝,輸入更新到最新版本,執(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...

    hoohack 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<