在WebLogic 12c上運行RichFaces

我最初以為我可以在幾個月前寫這篇文章。 但是我最終被不一樣的事情所淹沒。 其中之一是,它無法像我在4.0版本中那樣簡單地啟動RichFaces展示柜。 有了所有的JMS magic和不同的提供者檢查,這已經成為簡單構建和部署它的挑戰。

無論如何,我愿意嘗試一下,然后開始。 如果您想開始使用任何JBoss技術,最好先檢查一下JBoss Developer Framework 。 這是各種示例和快速入門的不錯集合,可幫助您開始使用Java EE及其技術。 RichFaces-Validation示例就是其中之一,該示例演示了如何一起使用JSF 2.0,RichFaces 4.2,CDI 1.0,JPA 2.0和Bean Validation 1.0。

這個例子

該示例由一個成員實體組成,該成員實體具有一些JSR-303(Bean驗證)約束。 通常,從數據庫開始,在持久性層,最后是與客戶端緊密交互的視圖層中的多個地方,對這些位置進行檢查。 即使此快速指南不包含持久層,它也從Enity開始,它很好地反映了現實生活中的情況。 該應用程序包含使用JSF和RichFaces編寫的視圖層,并包括用于新成員注冊的AJAX向導。 新注冊的成員需要在實際“注冊”之前提供一些信息。 這包括通過電子郵件發送姓名和電話號碼。

入門

我將不再重復出色而詳細的快速入門已經向您展示的內容。 因此,如果您想在JBoss AS7上運行它,請去那里。 我們從一個空白的Maven Web項目開始。 最好,最簡單的方法是啟動NetBeans 7.2并創建一個。 讓我們將其命名為“ richwls-web”。 打開您的pom.xml并開始在那里進行一些更改。 首先在此處刪除認可的內容。 我們不需要它。 接下來是添加一點dependencyManagement:

<dependencyManagement><dependencies><dependency><groupId>org.jboss.bom</groupId><artifactId>jboss-javaee-6.0-with-tools</artifactId><version>1.0.0.Final</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.richfaces</groupId><artifactId>richfaces-bom</artifactId><version>4.2.0.Final</version><scope>import</scope><type>pom</type></dependency></dependencies></dependencyManagement>

這會將Java EE 6和RichFaces的物料清單(BOM)添加到您的項目中。 BOM會指定工件“堆棧”(或集合)的版本。 您可以從RedHat家伙那里找到任何東西,并且認為擁有它是“最佳實踐”。 最后,這可以簡化您的工作,因為它可以為您管理版本和依賴項。
關于冗長的真實依賴項列表:

<!-- Import the CDI API --><dependency><groupId>javax.enterprise</groupId><artifactId>cdi-api</artifactId><scope>provided</scope></dependency><!-- Import the JPA API --><dependency><groupId>javax.persistence</groupId><artifactId>persistence-api</artifactId><version>1.0.2</version><scope>provided</scope></dependency><!-- JSR-303 (Bean Validation) Implementation --><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-validator</artifactId><version>4.3.0.Final</version><scope>provided</scope><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId></exclusion></exclusions></dependency><!-- Import the JSF API --><dependency><groupId>javax.faces</groupId><artifactId>jsf-api</artifactId><version>2.1</version><scope>provided</scope></dependency><!-- Import RichFaces runtime dependencies - these will be includedas libraries in the WAR --><dependency><groupId>org.richfaces.ui</groupId><artifactId>richfaces-components-ui</artifactId></dependency><dependency><groupId>org.richfaces.core</groupId><artifactId>richfaces-core-impl</artifactId></dependency>

除了RichFaces依賴項之外,其他所有項都由運行時提供。 在這種情況下,它將是GlassFish 3.1.2.2。 如果您尚未在其他地方(settings.xml)定義它,則還應該將JBoss存儲庫添加到構建部分:

<repository><id>jboss-public-repository-group</id><name>JBoss Public Maven Repository Group</name><url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url></repository>

復制source-zip的richfaces-validation目錄的內容,或從github中檢出它 。 請多加注意,不要弄亂我們創建的pom.xml;)構建它并部署這些東西。

問題

首先,您會得到一個很好的焊接信息:

WELD-000054 Producers cannot produce non-serializable instances for injection into non-transient fields of passivating beans [...] Producer Method [Logger] with qualifiers

顯然我們這里有一個問題,需要將Logger字段聲明為瞬態。

@Inject
private transient Logger logger;

不知道為什么它可以在AS7上工作,但是有一天我可能會發現它是:)下一次迭代:更改,構建,部署。

java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet.copyOf(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSet;

看起來還不錯。 在http:// localhost:7001 / wls-cat /上啟動WLS CAT,然后嘗試查找它。

似乎Oracle正在服務器內部使用Google Magic。 好的。 我們無法將RichFaces部署為對WebLogic的獨立戰爭,因為我們需要在此處解決一些類加載問題。 推薦的方法是添加一個所謂的過濾類加載器。 您可以通過將weblogic-application.xml添加到您的耳朵來實現。 是的:讓我們重新打包所有內容,將戰爭放在空曠的耳朵中,然后將魔術添加到weblogic-application.xml中:

<prefer-application-packages><package-name>com.google.common.*</package-name></prefer-application-packages>

做完了嗎 進行另一次部署,您終于可以看到您的應用程序。 RichFaces基本上是在WebLogic上運行的,但是您必須將其打包到耳朵中,并為com.google.common。*類打開類加載器。 使用PrimeFaces可以輕松得多,但是…無論如何,有一些原因讓我嘗試這樣做。 一種是,我很喜歡能夠在客戶端觸發Bean驗證的想法。 如果看一下示例, <rich:validator event ='blur'/>會為客戶端添加針對bean驗證約束和標準jsf驗證器的客戶端驗證。 無需弄亂JavaScript或重復邏輯中的任何內容。

祝您編程愉快,別忘了分享!

參考:來自JCG合作伙伴 Markus Eisele的WebLogic 12c上的RichFaces運行在 Java軟件企業博客上。


翻譯自: https://www.javacodegeeks.com/2012/09/running-richfaces-on-weblogic-12c.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371435.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371435.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371435.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring Boot系列教程一:Eclipse安裝spring-tool-suite插件

一.前言 一直使用eclipse&#xff0c;個人習慣選用Eclipsespring-tool-suite進行開發&#xff0c;特別注意Eclipse要選用對應的spring-tool-suite進行安裝&#xff0c;這點筆者浪費了好長時間&#xff0c;以下為對應的版本。eclipse-kepler.4.3.1–>springsource-tool-suite…

湖南工程學院計算機網絡考試,湖南工程學院 計算機網絡期末試卷試題

湖南工程學院 計算機網絡期末試卷試題湖南工程學院 計算機網絡 期末試題(計算機10級&#xff0c;90%的題目)1 從邏輯功能上看,計算機網絡可分為哪兩個子網?答&#xff1a;通信子網和資源子網 2 數據鏈路層的最基本功能答&#xff1a;數據鏈路層的最基本的功能是向該層用戶提供…

C#設計模式(11)——外觀模式(Facade Pattern)

一、引言 在軟件開發過程中&#xff0c;客戶端程序經常會與復雜系統的內部子系統進行耦合&#xff0c;從而導致客戶端程序隨著子系統的變化而變化&#xff0c;然而為了將復雜系統的內部子系統與客戶端之間的依賴解耦&#xff0c;從而就有了外觀模式&#xff0c;也稱作 ”門面“…

OS X Mountain Lion上的多個Java版本

在Mountain Lion之前&#xff0c;Java被捆綁在OS X中。似乎在升級期間&#xff0c;我在計算機上安裝的Java 6版本被刪除了。 顯然&#xff0c;在升級過程中卸載Java的原因是Java運行時存在的安全問題。通過這種方式&#xff0c;您不得不安裝可解決此安全問題的最新版本。 所以我…

Oracle鎖機制的總結【轉】

最近在研究Oracle鎖機制的時候發現網上的資料魚龍混雜將&#xff0c;很多將問題復雜化&#xff0c;讓人感覺沒有條理性。經過查詢原始理論資料&#xff0c;總結如下&#xff1a; 在數據庫理論中&#xff0c;我們知道。我們在執行并發訪問數據庫表時&#xff0c;如果沒有任何一致…

2020暨陽學院園林計算機考研考場,【圖片】2020考研,老學長教你如何規劃!【計算機考研吧】_百度貼吧...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓二、關鍵一步——院校選擇我把各位同學的院校選擇階段分為以上幾個階段&#xff0c;因為考研這一年中&#xff0c;很多人的目標院校并不是固定不變的&#xff0c;而是隨著不同階段而改變的。學長我在大三下學期這一時間段內也多次更…

List Box 控件

1 //定義變量&#xff0c;并關聯控件與變量。IDC_RecvData為控件ID&#xff0c;recvData為控件對應的變量名 2 CListBox recvData; 3 4 DDX_Control(pDX, IDC_RecvData, recvData); 5 6 //向List Box控件IDC_RecvData中添加一行數據 7 CString str&#xff1b; 8 recvData.Ad…

JavaOne 2012:向上,向上和向外:使用Akka擴展軟件

在最后的社區主題演講后&#xff0c;我前往希爾頓金門大橋3/4/5觀看了維克多巴生 &#xff08; Viktor Klang &#xff09;的&#xff08; Typesafe &#xff09;“上&#xff0c;下&#xff0c;外&#xff1a;Akka”演講。 巴生&#xff08;Klang&#xff09;是Akka的技術主管…

華北科技學院計算機期末考試,華北科技學院 專業計算機 考試專用

1不能應用修剪命令“trim”進行修剪的對象是(D、文字) 。2. 命令行(B.不能隨意移動)3. 布爾運算中差集的熱鍵為(A.SU)4. 定距等分點用( C.DIST)命令5. 標高是以( B.厘米) 為單位6. 在建筑平面圖中用以指明朝向的是( B.指北針)7. A3圖紙的尺寸是( c.420x297)8. 既可以繪制直線&a…

redux-plain-english-workflow

https://quickleft.com/blog/redux-plain-english-workflow/轉載于:https://www.cnblogs.com/skating/p/6495384.html

Spring測試支持和上下文緩存

Spring為單元測試和集成測試提供了全面的支持-通過注釋來加載Spring應用程序上下文&#xff0c;并與JUnit和TestNG等單元測試框架集成。 由于為每個測試加載大型應用程序上下文需要時間&#xff0c;因此Spring智能地為測試套件緩存應用程序上下文–通常&#xff0c;當我們通過a…

perl6正則 4: before / after 代碼斷言: ?{} / !{}

<?before> <? befor XXX> 某字符在 xxx 之前 <?after > <?after XXX> 某字符之后有XXX 對應的取反分別為: <!before > <!before XXX> XXX之前沒有 <!after> <!after xxx> 某字符后面不是 xxx say "foobar" ~~…

mac 下JDK 與 tomcat 的安裝與配置

一.Mac下JDK的安裝 1.先檢測Mac是否已經安裝過JDK&#xff0c;在終端中輸入java 或者 javac 顯示說明&#xff0c;表明已經安裝過JDK&#xff0c;JDK版本查詢終端鍵入java &#xff0d;version&#xff0c;終端會返回JDK的版本號。 2.如果沒有安裝JDK&#xff0c;登陸 http://w…

新型發明創造大賽計算機類,2017年發明杯全國高職高專大學生創新創業大賽

以“發明創新實現夢想、創意創業改變生活”主題活動為依托&#xff0c;把課內與課外教育相結合&#xff0c;學校教育、家庭教育與社會教育相結合&#xff0c;培養廣大在校大學生的科技創新意識和實踐動手能力&#xff0c;激發他們設計創造的樂趣&#xff0c;使廣大大學生大膽創…

如何寫出安全的API接口(參數加密+超時處理+私鑰驗證+Https)- 續(附demo)

轉載&#xff1a;http://www.cnblogs.com/codeon/p/6123863.html 上篇文章說到接口安全的設計思路&#xff0c;如果沒有看到上篇博客&#xff0c;建議看完再來看這個。 通過園友們的討論&#xff0c;以及我自己查了些資料&#xff0c;然后對接口安全做一個相對完善的總結&#…

PrimeFaces在GlassFish 3.1.2.2上推動大氣

PrimeFaces 3.4在三天前問世。 除了通常令人敬畏的新組件和更新組件之外&#xff0c;它還包括新的PrimeFaces Push框架。 基于Atmosphere&#xff0c;這為您的應用程序提供了簡單的推送機制。 這是在最新的GlassFish 3.1.2.2上配置和運行它的方法。 準備工作 像往常一樣&#…

部分視圖跳轉

var album GetDailyDeal(); return PartialView("_DailyDeal", album); 通過NuGet需要添加microsoft.jquery.unobtrusive.ajax 方法一 在BundleConfig.cs 里添加 bundles.Add(new ScriptBundle("~/bundles/jqueryajax").Include("~/Scripts/jquery…

計算機二級目錄設置,word2設置標題格式,生成目錄,奇偶頁設置等等,適用考計算機二級辦公軟件,也適用于畢業論文格式設置...

word2設置標題格式,生成目錄,奇偶頁設置等等,適用考計算機二級辦公軟件,也適用于畢業論文格式設置 這是第2部分word資料 , 跟之前的第一部份word資料合為一份第二題2、在正文前按序插入節&#xff0c;使用“引用”中的目錄功能&#xff0c;生成如下內容&#xff1a;(1) 第1節&a…

JBoss AS 7類加載說明

這是示例章節&#xff0c;摘自Francesco Marchioni編輯的JBoss AS 7 Configuration Deployment and Administration一書&#xff0c;該書正在運行一個名為mastertheboss.com的JBoss門戶。 根據Java EE規范的要求&#xff0c;理想情況下&#xff0c;應用程序服務器應為其部署的應…

打印機 共享 問題

1 用戶提報無法打印&#xff0c;經查被共享打印機無法聯網&#xff0c;先檢查網線是否正常&#xff08;換其他電腦是否能行&#xff09;&#xff0c;再檢查交換機是否正常&#xff0c;經查交換機需要重啟&#xff0c;然后解決問題。 2 被共享機器為32位操作系統&#xff0c;其余…