首页 > 解决方案 > 新的 java primefaces 项目库为空

问题描述

在使用 primefaces 创建一个新的 java ee 项目时,我遇到了一个小问题。

当我到达框架页面时,库是空的。

我不明白为什么。

我给你两张照片给你看。

你有解决方案吗?

先感谢您

例如 :

快照1

快照2

标签: javaprimefacesprojectlibrariesnew-operator

解决方案


从您的屏幕截图中,您似乎使用的是最新版本的 NetBeans,以及您使用以下方法创建的项目:

文件 > 新建项目 > Java with Ant > Java Web > Web 应用程序

(以下说明假设一个 Tomcat Web 容器。如果您使用不同的东西,下面的一些点也可能不同 - 但要点应该是相同的。)

我的偏好是使用基于 Maven 的项目而不是基于 Ant 的项目:

文件 > 新建项目 > 带有 Maven 的 Java > Web 应用程序

与 Maven

创建项目时,您无需指定任何框架。要开始使用 PrimeFaces,请编辑pom.xml作为项目一部分自动生成的文件 - 它位于Project Files文件夹中。

在 POM 中,您将看到以下部分 - 您将看到我为 PrimeFaces 添加了一个新的依赖项子部分:

<dependencies>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-web-api</artifactId>
        <version>7.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.primefaces</groupId>
        <artifactId>primefaces</artifactId>
        <version>8.0</version>
    </dependency>
</dependencies>

在 POM 中自动创建的javaee-web-api依赖项负责处理 JSF 需求(Primefaces 需要)。

最后,运行 Build (F11),以确保将新添加的依赖项拉入您的项目。您将看到项目文件夹中primefaces-8.0.jar列出的内容。Dependencies

现在您可以创建一个测试 XHTML 网页来验证 PrimeFaces 是否正常工作:

在此处输入图像描述

与蚂蚁

如果您仍然喜欢或需要使用基于 Ant 的方法,那么过程类似。在第 4 步,选择“JSF 2.3”的注册库(屏幕截图中显示的那个)并单击“完成”,而不是尝试选择 PrimeFaces 组件库。

现在,因为您没有使用 Maven,您将不得不手动下载 PrimeFaces JAR 文件(例如,从此页面上的 jar 链接),并以通常的基于 Ant 的项目的方式将其添加到您的项目中:

项目属性 > 库 > 添加 JAR/文件夹

(这是我更喜欢 Maven 的原因之一 - 库下载是自动为您服务的。)

更新- 基于评论

基于 Ant 的依赖管理

如果您需要/想要使用基于 Ant 的项目,那么为依赖管理设置类似 Maven 的支持是值得的。有不止一种方法可以做到这一点。使用常春藤是一种选择。

Tomcat 与应用服务器

在我的回答中,我最初的假设是使用 Tomcat。Tomcat 是 Web 容器的一个示例,它提供对 Java servlet 的支持——但它不是一个成熟的 Jakarta EE 应用程序服务器——因此它不包含所需的 JSF 库(因此需要提供它们,如此答案前面描述的步骤)。如果您正在使用诸如 Glassfish 或 TomEE(或许多其他)之类的应用服务器,那么 JSF 将已经提供。

JSF 版本

对于 Tomcat 等 Web 容器,NetBeans 可能没有您想要/需要使用的 JSF 版本。在这种情况下,作为一个单独的步骤,您可以下载所需的 JAR 文件(例如从 Maven 或从官方JSF 网站)。

在 NetBeans 中,转到 Tools > Libraries > New Library... 然后为您的库命名并提供所需的 JAR 文件。

该库现在将在“新项目”向导中可用:

在此处输入图像描述

然而,重申一下,您不需要使用 NetBeans 向导来选择您想要使用的 JSF 小部件框架(例如 PrimeFaces)。以通常的方式将其作为项目中的 JAR/库依赖项简单地提供会更容易。


推荐阅读