eclipse开发jsf_在Eclipse上创建JSF / CDI Maven项目

eclipse开发jsf

当我在研究JSF和CDI示例时,我认为提到创建JSF和CDI Maven项目所需的步骤会很有用。 您可以找到以下步骤。

工具类

  • 默认情况下,M2E插件随附的Eclipse Luna。 因此,无需自己安装插件。
  • WildFlye8.x。


  1. 从主菜单中选择文件->新建->其他。 然后选择Maven-> Maven项目。

    1-创建JSF CDI Maven项目

  2. 单击下一步按钮,然后选中“创建简单项目(跳过原型选择)”。

    2-创建JSF CDI Maven项目

  3. 写下组ID和工件ID,然后选择包装作为WAR。

    3-创建JSF CDI Maven项目

  4. 单击“完成”按钮创建项目,并在“导航器”视图中显示波纹管结构。

    4-创建JSF CDI Maven项目

  5. 如您所见,由于没有WEB-INF文件夹,因此没有部署描述符文件(web.xml)。 同样,通过检查Project Facets(选择项目,然后选择ALT + ENTER,然后从左侧菜单中选择Project Facets),我们可以看到Dynamic Web Module的版本为2.5,并且未选择JavaServer Faces。 因此,现在该对我们的项目进行一些配置了。

    5-创建JSF CDI Maven项目

  6. 右键单击项目名称,然后单击配置->添加JSF功能。 这会将项目配置为JSF项目,并添加带有web.xml和faces-config.xml的WEB-INF。

    7-创建JSF CDI Maven项目

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"version="2.5"><display-name>JSFCDIMavenProject</display-name><servlet><servlet-name>Faces Servlet</servlet-name><servlet-class>javax.faces.webapp.FacesServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>Faces Servlet</servlet-name><url-pattern>/faces/*</url-pattern></servlet-mapping>
    </web-app>
    <?xml version="1.0" encoding="UTF-8"?>
    <faces-configxmlns="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"version="2.2"></faces-config>
  7. 将必要的API作为依赖项添加到pom.xml。 另外,添加带有版本3.1的maven-compiler-plugin。 我还指出了maven使用Java编译器1.7版。 所以这是最终的pom.xml。
    <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.ithinkisink</groupId><artifactId>JSFCDIMavenProject</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><name>JSFCDIMavenProject Maven Webapp</name><dependencies><dependency><groupId>javax.inject</groupId><artifactId>javax.inject</artifactId><version>1</version><scope>provided</scope></dependency><dependency><groupId>javax.faces</groupId><artifactId>jsf-api</artifactId><version>2.1</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>javax.enterprise</groupId><artifactId>cdi-api</artifactId><version>1.0</version><scope>provided</scope></dependency></dependencies><build><finalName>JSFCDIMavenProject</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.7</source><target>1.7</target></configuration></plugin></plugins></build>
    </project>
  8. 现在,右键单击项目名称,然后选择“ Maven”->“更新项目”以使用新添加的配置更新项目。
  9. 部署描述符(web,xml)的版本为2.5,我们在依赖项中指向servlet 3.1。 因此,按照Java EE 7XML模式,名称空间更改为http://xmlns.jcp.org/xml/ns/javaee/。 这是应用更改后的最终web.xml。
    <?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"><display-name>JSFCDIMavenProject</display-name><servlet><servlet-name>Faces Servlet</servlet-name><servlet-class>javax.faces.webapp.FacesServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>Faces Servlet</servlet-name><url-pattern>/faces/*</url-pattern></servlet-mapping>
    </web-app>
  10. 再次检查项目构面。 您可以更改版本3.1的动态Web模块,并根据依赖项中添加的版本将JavaServer Faces与版本2.2进行检查。

    6-创建JSF CDI Maven项目

  11. 所需的最后一个配置是启用CDI上下文。 这可以通过创建一个名为beans.xml的XML文件并将其作为以下文件添加到WEB-INF文件夹中来完成。
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <beans 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/beans_1_1.xsd"bean-discovery-mode="all">
    </beans>

    8-创建JSF CDI Maven项目

  12. 最后,将项目添加到WildFly,然后启动服务器。 您将在控制台视图中看到WildFly启动了将CDI部署到应用程序的服务。

    9-创建JSF CDI Maven项目

我已将此存根项目推送到我的GitHub,您可以通过以下URL找到它。

  • https://github.com/belalgalal/Blogging/tree/master/JSFCDIMavenProject

翻译自: https://www.javacodegeeks.com/2016/02/creating-jsfcdi-maven-project-eclipse.html

eclipse开发jsf

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

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

相关文章

apache camel_Apache Camel的性能调整思路

apache camel时不时地&#xff0c;我会以Camel速度较慢的观点来询问有关优化Camel应用程序的问题。 骆驼只是连接不同系统的粘合剂&#xff0c;路由引擎全部在内存中&#xff0c;并且不需要任何持久状态。 因此&#xff0c;在99&#xff05;的情况下&#xff0c;性能问题是由于…

为什么写C语言弹不出窗口,居然还有SB说C写不出窗口的..

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼decebx.endwassumeesi:nothinginvokeGetStockObject,WHITE_BRUSHinvokeSelectObject,hDcBack,eaxinvokeDeleteObject,eaxinvokeDeleteObject,hBmpBackpopadret_CreateBackGroundendp;>>>>>>>>>>>…

java写入单个字符_将2个字符写入单个Java char

java写入单个字符这是创建超低延迟的Chronicle FIX-Engine时使用的另一个好技巧。 在从字节流中读取数据时&#xff0c;如果可能的话&#xff0c;将数据存储在char而不是将其读取到String效率更高。 &#xff08;至少您要避免创建String对象&#xff0c;尽管可以通过使用缓存或…

xmanager linux,教您用xmanager启动Linux上的图形界面程序-Go语言中文社区

对于习惯实体化的开发人员来说&#xff0c;还是界面化用着比较习惯&#xff0c;所以这就涉及到掌握使用Xmanager启动Linux上的图形界面程序&#xff0c;为了方便大家的使用&#xff0c;本集小编就详细的为大家讲解具体操作。具体步骤如下&#xff1a;1、首先下载Xmanager并安装…

android开发 文件分享到应用,Android 实现文件分享功能(共享多个文件)

效果如图&#xff1a;神一样的代码&#xff1a;针对image代码如下&#xff1a;IntentsharenewIntent(Intent.ACTION_SEND);share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));//此处一定要用Uri.fromFile(file),其中file为File类型&#xff0c;否则附件无法发送成功。s…

python kotlin_用Java和Python模仿Kotlin构建器

python kotlin介绍 Kotlin可能现在是我最喜欢的语言&#xff0c;可能它提供的最酷的功能之一是基于几个功能构建的类型安全的生成器&#xff08;稍后解释&#xff09;。 我发现自己真的很想在其他两种主要语言&#xff08;Java和Python&#xff09;中使用此功能。 本文解释了我…

android 4.4.2截屏方法,android4.4.2 使用 uiautoviewer 截屏报错

1、正常启动后&#xff0c;使用 uiautomatorviewer 没有问题2、由于要使用 uiautomator&#xff0c;每次启动 uiautomator 服务后再使用 uiautomatorviewer 就会图片错误&#xff0c;启动 uiautomator 服务的步骤如下&#xff1a;1、Download jar files from uiautomator jsonr…

java fastutil_具有FastUtil的精简Java集合

java fastutil针对我最近在GNU Trove库上发表的《 发现Java原始资源集合的处理 》一书 &#xff0c; TheAlchemist指出了fastutil优于trove的一些优点&#xff1a;“我更喜欢fastutil&#xff08; http://fastutil.di.unimi.it/ &#xff09;&#xff0c;因为它仍在积极开发中&…

android 圆角按钮渐变,Android实现圆形渐变加载进度条

最近设计要求要一个圆形进度条渐变的需求&#xff1a;1.画圆形进度条2.解决渐变最终实现效果代码package com.view;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Color;import android.grap…

javaone_JavaOne 2015:为JDK 9做准备– blog @ CodeFX

javaoneJavaOne 2015看到了Project Jigsaw团队关于Java 9中的模块化的一系列讨论 。它们都是非常有趣的&#xff0c;并且充满了宝贵的信息&#xff0c;我敦促每个Java开发人员都注意它们。 除此之外&#xff0c;我想给社区一种搜索和引用它们的方法&#xff0c;因此我在这里总…

android wifi 通讯录,通过wifi和gmail从symbian手机中将名片夹(通讯录)导入到android手机 | 古意人...

使用背景与条件&#xff1a;最近入手了android手机defy&#xff0c;机器到手后兴奋过度&#xff0c;马上将原symbian手机诺基亚E50的sim卡和内存卡都转移到了defy上&#xff0c;捣鼓了一段时间的defy&#xff0c;突然想起要同步原诺基亚手机的名片夹到defy中(android中貌似称为…

oracle aq_通过Java 8流使用Oracle AQ

oracle aqOracle数据库最令人敬畏的功能之一是Oracle AQ&#xff1a;Oracle数据库高级队列 。 AQ API直接在数据库中实现了完整的事务性消息传递系统。 在数据库处于系统中心的经典体系结构中&#xff0c;使用AQ进行进程间通信时&#xff0c;多个应用程序&#xff08;其中一些…

c语言建立多个有名管道,命名管道一个非常经典的题目

#include /*特别注意写管道时&#xff0c;设置打开管道文件的格式必须为可写*/#define FIFO_SERVER "myfifo"#define OPENMODE (O_WRONLY | O_NONBLOCK)int main(int argc, char **argv){int fd;int nwrite;/*打开管道文件&#xff0c;可写非阻塞*/if ((fd open(FIF…

jit 方法内联_JIT编译器,内联和转义分析

jit 方法内联即时&#xff08;JIT&#xff09; 即时&#xff08;JIT&#xff09;编译器是Java虚拟机的大脑。 JVM中对JIT编译器的影响最大。 一会儿&#xff0c;让我们退后一步&#xff0c;看看已编译和未编译语言的示例。 诸如Go&#xff0c;C和C 之类的语言之所以称为编译语…

nodejs android 推送,利用Nodejs怎么实现一个微信小程序消息推送功能

利用Nodejs怎么实现一个微信小程序消息推送功能发布时间&#xff1a;2021-01-20 13:55:29来源&#xff1a;亿速云阅读&#xff1a;92作者&#xff1a;Leah今天就跟大家聊聊有关利用Nodejs怎么实现一个微信小程序消息推送功能&#xff0c;可能很多人都不太了解&#xff0c;为了让…

kafka spark_您在2016年会做什么? Apache Spark,Kafka,Drill等

kafka spark让我们玩得开心。 这是新的一年的开始-我们正处于新事物的门槛上-因此让我们期待您在2016年可能会做的事情。现在我知道做出预测的风险&#xff0c;尤其是有记录的预测&#xff0c;但是我很高兴您能在一年后回访&#xff0c;看看我对2016年的预测是如何完成的。 您…

android ini文件格式,ini是什么格式的文件?ini文件怎么操作?

类型&#xff1a;Android平台大小&#xff1a;622KB语言&#xff1a;中文 评分&#xff1a;5.0标签&#xff1a;立即下载ini文件主要存放用户所做的选择以及系统的各种参数。用户可以通过修改INI文件,来改变应用程序和系统的很多配置。自定义一个文件&#xff0c;会成一个deskt…

android开发 apk文件,android开发中,将数据库文件与APK一起发布?

2015-11-11 回答可以将xx.db文件复制到eclipse android工程中的res\raw目录中。所有在res\raw目录中的文件不会被压缩&#xff0c;这样可以直接提取该目录中的文件。使用opendatabase方法来打开数据库文件&#xff0c;如果该文件不存在&#xff0c;系统会自动创建/sdcard/dicti…

jpa 关联实体的关联实体_JPA实体锁定模式的差异

jpa 关联实体的关联实体JPA本质上提供了两种锁定机制&#xff0c;以帮助同步对实体的访问。 两种机制都可以防止以下情况&#xff1a;两个事务在不知道的情况下相互覆盖数据。 通过实体锁定&#xff0c;我们通常希望通过2个并行事务来防止以下情况&#xff1a; 亚当的事务读取…

华为p6电信版 android 4.5,华为P6电信版系统应用apk补全教程 完整EMUI

现在要说的是华为P6电信版的系统应用apk补全教程&#xff0c;给你一个非阉割版的完整EMUI系统。大家应该都知道&#xff0c;电信定制版由于华为系统服务与电信的定制APP功能重叠&#xff0c;语音助手、云同步、云端备份、手机找回等系统应用apk全被“阉割”掉了&#xff0c;这几…