我开始使用 JSF2.0。
我按照教程进行操作,没有任何问题,一切正常!我使用 Eclipse Helios。
但我注意到一些我无法理解的事情。
该教程说要为 JSF 2 添加 Project Facet。
我没有做这样的事情,一切正常。因此,为了完全遵循教程,我做了:
右键单击项目 -> 属性 -> 项目 Facets
并且 JavaServer Faces 方面复选框未勾选。我认为这就是教程中 Project Facet 的含义。我点击了它,然后出现了一个
需要进一步配置
链接出现了。我点击了 JSF 功能(修改 Faceted Project)对话框的链接,我选择了用户库、我的 JSF 库(即 MyFaces),但我得到了error信息:
找到所需类 javax.faces.FactoryFinder 的多个版本。
这是什么错误?创建项目后无法添加项目方面吗?
我需要项目方面做什么?
我的(简单的)代码表明 JSF 工作正常,那么 Facet 项目有什么用呢?
来自Eclipse 帮助 http://help.eclipse.org/helios/topic/org.eclipse.jst.j2ee.doc.user/topics/cfacets.html:
方面定义特征和
Java EE 项目的要求和
用作运行时的一部分
配置。
当您向项目添加方面时,
该项目配置为执行
完成某项任务,完成某项任务
要求,或者有一定的
特征。例如,EAR
facet 设置一个项目作为
通过添加一个企业应用程序
部署描述符和设置
项目的类路径。
在这种情况下JSF 方面 http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jst.jsf.doc.user/html/concepts/jsf_facets.html:
可以使用以下功能
当安装 JSF 方面时:
- JSF 库配置支持
- 应用配置管理
- 大多数 JSF 的 JSP 源页面语义验证和内容辅助
Core 和 JSF HTML 标签库
使用表达式的属性值
是否有语言(EL)。
- JSF JSP 页面的“在服务器上运行”支持
在出现此错误的情况下:
找到所需类 javax.faces.FactoryFinder 的多个版本。
It looks like the tooling has detected multiple copies of the core JSF API on the project classpath. JSF has some tolerance for this and has historically supported running different versions in different classloader contexts - that is, you can put one in the WAR and one in the container. Using the Open Type dialog (CTRL+SHIFT+T) and searching for javax.faces.FactoryFinder
should help you locate the culprit jar.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)