使用Maven构建RichFaces 4.x项目

开始之前

本文将简要介绍一下如何在Maven项目中引入RichFaces 4.x。部分内容参考自RichFaces的官方文档。

以下是具体的开发环境:

  • IntelliJ IDEA 13
  • Maven 3.x
  • JDK 1.8
  • WildFly 8.x
  • RichFaces 4.3.6.Final

第一步 - 创建Maven项目

首先要创建一个正常的Maven项目(项目名为 facesDemo ),项目建成后目录结构如下图所示:

对应的 pom.xml 文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.eagle</groupId>
<artifactId>facesDemo</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging> <build>
<!-- 打包后的项目名 -->
<finalName>facesDemo</finalName>
</build> </project>

第二步 - 添加依赖文件

RichFaces自己包含有4个库文件:

  • richfaces-core-api.jar
  • richfaces-core-impl.jar
  • richfaces-components-api.jar
  • richfaces-components-impl.jar

此外,RichFaces还依赖于一些第三方文件,这里只列出那些必须的依赖文件:

  • JSF 2.x的具体实现
  • guava.jar
  • cssparser.jar
  • sac.jar

接下来就要在 pom.xml 文件中引入这些依赖文件。首先引入RichFaces的库文件:

<properties>
<!-- RichFaces version -->
<richfaces.version>4.3.6.Final</richfaces.version>
<!-- JSF version -->
<jsf.version>2.2.6</jsf.version>
</properties> <dependencies>
<dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>richfaces-components-ui</artifactId>
<version>${richfaces.version}</version>
</dependency>
<dependency>
<groupId>org.richfaces.core</groupId>
<artifactId>richfaces-core-impl</artifactId>
<version>${richfaces.version}</version>
</dependency>
</dependencies>

接下来添加JSF的具体实现。由于项目的服务器使用的是WildFly,它本身已经集成了JSF,所以将下面配置的依赖范围设为 provided (仅用于编译和测试) :

<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>${jsf.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>${jsf.version}</version>
<scope>provided</scope>
</dependency>

由于Maven的传递性依赖机制,那些没有在 pom.xml 文件中显式引入的依赖文件也会被引入项目中(上述依赖文件的坐标都来自Maven Central Repository)。最后文件之间的依赖关系如下图所示:

第三步 - 配置RichFaces

在 web.xml 文件中配置RichFaces。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<welcome-file-list>
<welcome-file>index.xhtml</welcome-file>
</welcome-file-list> <context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param> <servlet>
<servlet-name>facesServlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>facesServlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
</web-app>

在 WEB-INF 文件夹下新建 faces-config.xml 文件。

<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"> </faces-config>

第四步 - 创建显示页面

在 webapp 目录下新建 index.xhtml 文件,内容如下:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<f:view>
<h:head></h:head>
<h:body>
<rich:panel header="Richfaces Demo">
<h:outputLabel value="Hello Richfaces"/>
</rich:panel>
</h:body>
</f:view>
</ui:composition>

大功告成,将项目打包部署之后就可以看到页面效果了。

使用Maven构建RichFaces 4.x项目的更多相关文章

  1. Maven构建真正的J2EE项目

    今天同事问起我眼下用Maven构建的多模块项目架构和曾经用Eclipse创建的Web项目的问题.以下将讲一下使用maven搭建多模块的J2ee项目,以及採用这样的方式搭建项目对日后项目的水平拆分和垂直 ...

  2. 三、使用Maven构建简单的java项目

    前边,我刚搭建了Maven环境,还有给大家推荐了学习资源,这个小节,我们来就来,,简单的玩玩maven. 1.所需工具: 1.Eclipse     2.apache-maven-3.3.9   3. ...

  3. 基于Maven构建的Spring+Mybatis项目

    项目的目录结构: 1.基于Maven构建Web项目 参考:基于Maven构建Web项目 2.导入项目依赖 Spring 核心容器(Beans.Core.Context.Context support. ...

  4. 使用Maven构建和测试Java项目

    我们在创建项目时要学习的是如何使用 Maven 来创建一个 Java 应用程序.现在将学习如何构建和测试应用程序. 进入到 C:\MVN 目录我们准备创建来 java应用程序.打开 consumerB ...

  5. 使用maven构建基本的web项目结构

    由于当前公司在组织进行项目基本结构的整理,将以前通过eclipse/ ant 方式构建的项目向maven上迁移,于是便进行maven项目方面的调研. 对于maven项目,基本的结构已经在标准文件中: ...

  6. (从零开始java开发) IDEA+MAVEN构建一个webapp骨架项目(解决一直downloading问题)

    折腾了一段时间终于解决了, 可能是因为网络问题 xml一直没法访问 maven 骨架生成项目速度慢的令人发指,都在Generating project in Batch mode等待,Idea状态显示 ...

  7. 图文详解 IntelliJ IDEA 15 创建 Maven 构建的 Java Web 项目(使用 Jetty 容器)

    图文详解 IntelliJ IDEA 15 创建 maven 的 Web 项目 搭建 maven 项目结构 1.使用 IntelliJ IDEA 15 新建一个项目.  2.设置 GAV 坐标  3. ...

  8. IDEA+MAVEN构建一个webapp骨架项目(解决一直卡在downloading plugins for问题)

    下载:链接:https://pan.baidu.com/s/1jJx73H8 密码:nud0 第一步   我在上面链接下载了这个骨架xml,放进本地(你的目录默认.m2)\repository\org ...

  9. 使用Maven构建多模块企业项目

    首先,前面几次学习已经学会了安装maven,如何创建maven项目等,最近的学习,终于有点进展了,搭建一下企业级多模块项目. 好了,废话不多说,具体如下: 首先新建一个maven项目,pom.xml的 ...

随机推荐

  1. 《30天自制操作系统》14_day_学习笔记

    harib11a--harib11c: 继续测试性能:我们在harib10h中进行了定时链表结构的改进“消除了移位处理”.下面我们设定490个定时器(它们都被设定启动50天才超时)来测试一下改进的效果 ...

  2. 文件上传(java web)

    文件上传: 对表单的要求: * method="post" * enctype="multipart/form-data" * 表单中需要添加文件表单项:< ...

  3. MongoDb 聚合报错

    聚合框架它是数据聚合的一个新框架,其概念类似于数据处理的管道. 每个文档通过一个由多个节点组成的管道,每个节点有自己特殊的功能(分组.过滤等),文档经过管道处理后,最后输出相应的结果. 管道基本的功能 ...

  4. 修改 window.setTimeout,使之可以传递参数和对象参数

    /* 功能:修改 window.setTimeout,使之可以传递参数和对象参数 使用方法: setTimeout(回调函数,时间,参数1,,参数n) */ var _setTimeout=setTi ...

  5. JQ 全选、全不选

    $(document).ready(function() { $("#isalldebt").click(function() { if ($(this).attr("c ...

  6. Magento开发常用方法

    这里是我做Magento开发常用到的方法,现在总结出来,后续会把更多有用的方法总结出来. 1.直接操作数据库 查找数据:$read = Mage::getSingleton("core/re ...

  7. CNN & RNN 及一些常识知识(不断扩充中)

    参考: http://blog.csdn.net/iamrichardwhite/article/details/51089199 一.神经网络的发展历史 五六十年代,提出感知机 八十年代,提出多层感 ...

  8. 执行gem install linne时报错

    由于linner安装实际上是从 rubygems.org 获得的,而其被墙,所以,需要寻找国内的镜像进行安装: 第一种方法: gem sources --remove https://rubygems ...

  9. apache+php+mysql的配置(转载)

    windows: 按http://jingyan.baidu.com/article/fcb5aff797ec41edaa4a71c4.html的安装 按http://www.jb51.net/art ...

  10. eclipse启动时虚拟机初始内存配置

    eclipse启动时虚拟机初始内存配置: -Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=512m