weblogic运行项目_在WebLogic 12c上运行RichFaces

weblogic运行项目

我最初以为我可以在几个月前写这篇文章。 但是我最终被不一样的事情所淹没。 其中之一是,它无法像我在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

weblogic运行项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352925.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

超详细在Ubuntu下安装JDK图文解析

我们选择的是jdk1.6.0_30版本。安装文件名为jdk-6u30-linux-i586.bin. 1、复制jdk到安装目录 &#xff08;1&#xff09;假设jdk安装文件在桌面&#xff0c;我们指定的安装目录是&#xff1a;/usr/local/java 。可是系统安装后在/usr/local下并没有java目录&#xff0c;这需要…

oracle 整个表空间迁移,oracle11g迁移表空间

表空间名为sbjc&#xff0c;要从D:\APP\ORACLE\ORADATA\TABLESPACE\SBJC.DBF 迁移到 F:\oracle\oradata\tablespace\SBJC.DBF。 扼要操作步骤&#xff1a; 第一步&#xff1a;登陆数据库 第二步&#xff1a;中止数据库 第三步&#xff1a;在open方式下启动数据库 第四步&#x…

Qt5使用QFtp,二次封装

1、需要的东西 ftp.cpp,ftp.h是二次封装的ftp类&#xff0c;放在工程下包含 QFtp和qftp.h放在D:\Qt5.7.1\5.7\msvc2013\include\QtNetwork&#xff1b; Qt5Ftp.lib和Qt5Ftpd.lib是编译生成的库&#xff0c;放在工程源文件下 2、包含库 #pragma comment(lib,"Qt5Ftpd.lib&q…

无参数泛型方法反模式

最近&#xff0c;有关Java泛型的一个非常有趣的问题发布到Stack Overflow和reddit上。 考虑以下方法&#xff1a; <X extends CharSequence> X getCharSequence() {return (X) "hello"; }尽管不安全的转换看起来有些古怪&#xff0c;并且您可能会猜这里有些问…

oracle数据库升级失败,Oracle 11.2.0.1 rac 升级失败后,数据库降级方案(flashback database)...

升级失败后&#xff0c;数据库降级方案(flashback database)环境&#xff1a;Oracle 11.2.0.1 rac on redhat 5.8Flashback database准备工作查看是否flashback database功能sysRACDB>select log_mode,open_mode,flashback_on fromv$database;LOG_MODEOPEN_MODE …

Ubuntu下安装Oracle11g(图文教程)

由于课程需要&#xff0c;要在Ubuntu下安装一个Oracle&#xff0c;之前都没有装过&#xff0c;所以想通过这篇博文记录一下 1.下载Oracle 11g 下载地址&#xff1a;http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index-092322.html 我选择下载的是…

class12_pack_grid_place 放置位置

其中的部分运行效果图&#xff08;程序见序号1&#xff09;&#xff1a; #!/usr/bin/env python# -*- coding:utf-8 -*-# ------------------------------------------------------------## 参考资料&#xff1a;# 用 python 和 tkinter 做简单的窗口视窗 - 网易云课堂# https:…

oracle强制执行计划,OBA技能2-Oracle执行计划顺序表连接

小仙我在学习索引执行行为的时候&#xff0c;有个疑惑&#xff1f;那就是索引是找到一个值就马上回表&#xff0c;然后再找下一个值&#xff0c;再回表。比如索引唯一扫描&#xff0c;索引范围扫描&#xff0c;索引全扫描&#xff0c;索引快速扫描。好像都是要回表。尤其是范围…

ubuntu中启动oracle数据库

前期准备&#xff1a;如果你还没有在ubuntu上安装oracle请先看我之前到日志http://blog.csdn.net/backtracker/article/details/66247181. $su oracle $ sqlplus /nolog 将出现如下连接数据库信息&#xff1a; SQL*Plus: Release 10.2.0.1.0 - Production on Fri Jul 8 10:1…

oracle 输出到页面,利用Xming 将Linux 图形界面输出到Windows上

Linux上安装Oracle 时需要图形界面, 但又不想在服务器上安装图形界面怎么办,这时候就需要用到Xming 这个神器了安装过程比较简单, 直接下一步下一步即可安装完成后先运行, Xlaunch注意:这个No Access Control的勾勾一定要勾上,否则 执行export到Windows主机上时会提示 No proto…

spring 事件模型_Spring–设计领域模型和服务层

spring 事件模型我们将为时间表管理构建应用程序。 因此&#xff0c;让我们首先考虑一些用例和实体。 让我用几个项目符号写它们&#xff1a; 任务由经理分配给员工。 一项任务可以分配给许多员工。 员工将他在某些任务上工作的小时数填充到系统中。 经理/员工查看时间表上的…

log4j/slf4j

log4j的使用 引入log4j.jar包<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version> </dependency> 配置log4j.propertieslog4j.rootLoggerINFO,Console,OneFile,errFile #输出到控制…

Ubuntu 12.04下安装Oracle Express 11gR2

Ubuntu 12.04下安装Oracle Express 11gR2 [我的笔记] 参考1&#xff1a;http://www.linuxidc.com/Linux/2012-09/71382.htm 参考2&#xff1a;http://zhjack.blog.163.com/blog/static/14314920137153331286/ 1、点击这里下载Oracle express的安装介质 Oracle Database Express…

选择的按钮:将ToggleButtons用作单选按钮

对于MQTT.fx&#xff0c;我想使用ToggleButtons例如选择MQTT消息或QoS级别的解码&#xff1a; 我发现在ToggleGroup的上下文中&#xff0c;ToggleButton在选择/取消选择方面的行为与RadioButtons不同&#xff1a;与RadioButtons不同&#xff0c;ToggleButtons仍可以设置为未选…

php调用image类提示不存在的字体,php – 无效的字体文件名(imagettfbox)

这个问题一直被问到,但是我找不到我问题的正确答案……作为一个小背景说明,在将类文件从/ application / lib / class移到/库之前,所有代码都运行良好/ class ……我试过玩GDFONTPATH,相对的,绝对路径有和没有文件扩展名无济于事.以下是我们迄今为止尝试的一些行&#xff1a;pu…

linux文件属性之用户和组基础知识

root :x :0 :0 :root :/root :/bin/bash 账号名称 &#xff1a;账号密码 &#xff1a;账号UID &#xff1a;账号组GID &#xff1a;用户说明 &#xff…

Oracle常用命令大全(经典收藏)

一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户&#xff0c;如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b、关闭ORACLE系统 oracle>svrm…

oracle共享服务器模式的图,Oracle 11g笔记——专有服务器、共享服务器模式

专有服务器模式&#xff1a;适合批处理和大任务的应用共享服务器模式&#xff1a;适合有大量并发用户的应用共享服务器模式&#xff0c;处理过程&#xff1a;1、调度进程(Dispatcher)接受多个客户端(用户进程)的连接请求&#xff0c;并把这些请求放到一个公共队列中。2、空闲的…

基于django rest framework的mock server实践

网上找了一下mock server的实现&#xff0c;发现python的基本都是基于flask来实现的&#xff0c;因最近在学django&#xff0c;就尝试用drf实现了下&#xff1a; A brief introduction of sui_mock sui mock server is an attempt that aim at dealing some issues of the thir…

在Elasticsearch中索引Java Bean的简单方法

在数据存储方面&#xff0c;Java程序员习惯于使用魔术般持久的Java Bean。 诸如Hibernate和用于关系数据存储的JPA规范或Morphia和Spring Data MongoDB之类的解决方案是受欢迎的示例。 使用Elasticsearch的开发人员有时也有相同的愿望–传递Java bean并对其进行自动索引。 提供…