You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Eclipse Oxygen 3中创建JSF 2.3动态Web项目并配置版本识别

在Eclipse Oxygen 3中创建并识别JSF 2.3动态Web项目

我来帮你搞定这个问题,毕竟Eclipse Oxygen 3默认确实只支持到JSF 2.2的facet,不过咱们可以通过手动配置来实现2.3版本的支持,步骤分两部分:创建项目和让Eclipse正确识别版本。

一、创建支持JSF 2.3的动态Web项目

方法1:普通动态Web项目手动升级

先按常规步骤创建项目,再修改facet配置:

  1. 打开Eclipse,点击File > New > Dynamic Web Project,填写项目名称,注意Servlet版本要选3.1或更高(JSF 2.3要求Servlet 3.1+),完成项目创建。
  2. 右键项目 → Properties > Project Facets,先确认已勾选JavaServer Faces,然后点击旁边的「Modify...」按钮。
  3. 这时候默认版本只有2.2,咱们得先准备好JSF 2.3的库:
    • 下载Mojarra 2.3.x(比如2.3.14)的JAR包,或者从Maven仓库获取相关依赖。
    • 打开Window > Preferences > Java > Build Path > User Libraries,点击「New」,命名为「JSF 2.3 Mojarra」,再点击「Add External JARs」把下载的JSF相关JAR加进去。
  4. 回到Project Facets的JSF配置页面,选择「User Library」,然后选中刚才创建的「JSF 2.3 Mojarra」。如果版本还是显示2.2,直接去项目的.settings文件夹里找到org.eclipse.wst.common.project.facet.core.xml文件,打开后把<installed facet="jst.jsf" version="2.2"/>改成<installed facet="jst.jsf" version="2.3"/>,保存后刷新项目。

方法2:用Maven创建(更省心)

如果习惯用Maven,这方法更简单:

  1. 创建Maven Web项目(File > New > Maven Project,选择maven-archetype-webapp)。
  2. 在pom.xml里添加JSF 2.3的依赖:
<dependency>
    <groupId>org.glassfish</groupId>
    <artifactId>javax.faces</artifactId>
    <version>2.3.14</version>
    <scope>compile</scope>
</dependency>
  1. 右键项目 → Maven > Update Project,等待依赖下载完成。
  2. 打开Project Facets,勾选JavaServer Faces,这时候Eclipse应该会自动识别到2.3版本,直接选择即可,也可以手动关联Maven的依赖库。

二、让Eclipse正确识别JSF 2.3版本

做完上面的步骤后,还得确保Eclipse的工具能识别到2.3:

  1. 确认Facet配置:检查.settings/org.eclipse.wst.common.project.facet.core.xml里的JSF版本确实是2.3,这是Eclipse识别版本的核心配置。
  2. 更新faces-config.xml:打开项目里的faces-config.xml,把命名空间和版本改成2.3的,这样Eclipse的代码提示等工具就会支持2.3特性了:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config 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_3.xsd"
    version="2.3">
</faces-config>
  1. 检查Build Path:右键项目 → Build Path > Configure Build Path,确认Libraries里引用的是JSF 2.3的JAR(Maven项目会自动处理,手动项目要确保选的是刚才创建的User Library)。
  2. 刷新项目:右键项目 → Refresh,或者在Project Facets里点击「Apply」,让Eclipse重新加载配置。

小提醒

  • 一定要选Servlet 3.1+版本,不然JSF 2.3的一些特性(比如CDI集成)没法用,Eclipse也可能不让你设置2.3的facet。
  • 如果Eclipse的JSF工具还是没反应,可以试试清理项目(Project > Clean),一般就能解决识别问题。

内容的提问来源于stack exchange,提问作者Verticon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:52:59