制备
下载您选择的IDE。 我将在本文中使用NetBeans 7.1 RC 2 。 下载并安装WebLogic Server 12c。 使用您选择的平台安装程序或ZIP发行版。 继续创建域并将服务器添加到NetBeans。 (有关更多详细信息,请参阅我先前的文章 。)返回NetBeans,检查您的maven设置并创建一个新的Maven Web Application项目。 现在将其称为rfshowcase。 输入缺少的内容(组,版本和程序包)。 选择或添加本地Oracle WebLogic服务器作为运行时环境。 将JBoss Maven存储库和不可思议的richfaces-bom添加到pom.xml中:
<repositories>
<repository>
<id>jboss</id>
<name>JBoss Repository</name>
<url>http://repository.jboss.org/nexus/content/groups/public/</url>
</repository>
</repositories>
<properties>
<org.richfaces.bom.version>4.1.0.Final</org.richfaces.bom.version>
<!-- ... -->
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.richfaces</groupId>
<artifactId>richfaces-bom</artifactId>
<version>${org.richfaces.bom.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<!-- ... -->
</dependencies>
</dependencyManagement>
添加RichFaces依赖项:
<dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>richfaces-components-ui</artifactId>
</dependency>
<dependency>
<groupId>org.richfaces.core</groupId>
<artifactId>richfaces-core-impl</artifactId>
</dependency>
您完成了! 与早期版本的WLS不同(请比较我的旧文章),JSF 2.x和JSTL 1.2已直接合并到服务器的类路径中。 部署到WebLogic Server的应用程序可以无缝使用JSF 2.x和JSTL 1.2,而无需开发人员部署和引用单独的共享库。 因此,您实际上可以开始实现您的应用程序。
一些简单的测试
让我们将index.xhtml添加到您的Web Pages文件夹中。 将RichFaces命名空间添加到html标记中:
xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich"
并开始使用所需的组件。 在我的小例子,我剥了下来富人:取自panelMenu showcase.richfaces.org 。 现在,右键单击您的项目并“运行”它! NetBeans正在启动您的WLS实例并部署您的应用程序。 完成此操作后,应打开一个浏览器,将您定向到http:// localhost:7001 / rfshowcase /,您会看到应用程序已启动并正在运行。 就这样。 没事做。 没有库部署,别无其他。 这就是我所说的良好进展。 与早期WLS版本所需的愚蠢库部署相比,您知道可以自由使用自己的方式。 即使您想使用另一个RI,也可以通过在weblogic.xml中指定preferred-application-packages标记来简单地还原类加载器
13.12.2011 20:48:43 org.richfaces.application.InitializationListener onStart
INFO: RichFaces Core Implementation by JBoss, a division of Red Hat, Inc., version v.4.1.0.Final
Clazzloading或Oracle和RedHat与Google
如果从类加载器的角度查看应用程序,将会看到有大量的类(705)发生冲突。 对于RichFaces,所有这些都在com.google.common。*包中。 这样做的原因是,WLS正在分发com.google.common_1.0.0.0_0-6.jar,它与RichFaces依赖项com.google.guava.guava.r08相冲突。 运行我的小测试似乎完全没有害处。 但是最好配置一个所谓的FilteringClassLoader,它为您提供一种机制,用于配置部署描述符以显式指定某些软件包应始终从应用程序加载,而不是由系统类加载器加载。 因此,您应该将项目更改为EAR模块,并将此小段代码添加到weblogic-application.xml(ear级别)中:
<prefer-application-packages>
<package-name>com.google.common.*</package-name>
</prefer-application-packages>
参考:来自JCG合作伙伴 Markus Eisele在WebLogic 12c上运行RichFaces 4.1.0.Final的结果 ,该博客来自Java软件企业软件开发博客。
相关文章 :
翻译自: https://www.javacodegeeks.com/2011/12/running-richfaces-410final-on-weblogic.html