java - Glassfish - java.lang.NoClassDefFoundError : org/primefaces/model/UploadedFile

标签 java maven primefaces glassfish-4

我有一个基于 Maven 的项目。这是该项目在 Eclipse 中的样子:

enter image description here

所以我有独立的前端和后端,它们被打包到一个 EAR 中。该应用程序部署在 Weblogic 12c 服务器 上,但现在我必须将其移动到 Glassfish。我可以部署到 Glassfish 并且我的应用程序正在运行。但是,当我调用使用 Primefaces UploadFile 类的方法时,我收到一条错误消息。这是错误消息:

java.lang.NoClassDefFoundError: org/primefaces/model/UploadedFile
javax.ejb.EJBException: java.rmi.ServerError: Error occurred in server thread; nested exception is: 
    java.lang.NoClassDefFoundError: org/primefaces/model/UploadedFile

这两个依赖:

<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.3</version>
</dependency>

<dependency>
    <groupId>org.primefaces</groupId>
    <artifactId>primefaces</artifactId>
    <version>6.0</version>
</dependency>

都在 POM.xml (前端和后端)中,并且 Maven 依赖项位于我的类路径中,如下图所示:

enter image description here

我的问题是,我应该将 Primefaces jar 放在哪里,以便在运行时对 Glassfish 可见?

最佳答案

您需要将依赖项添加到 Glassfish 的 /lib 文件夹中,因为容器将在此处检查它们,将它们与可部署 Artifact (在您的情况下为 .ear 文件)捆绑在一起。当您使用 Maven 时,有几个可用的插件可以帮助您,例如Maven Assembly 或 Maven Ear 插件。

-根据我上面的评论回答。

关于java - Glassfish - java.lang.NoClassDefFoundError : org/primefaces/model/UploadedFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48782668/

相关文章:

javascript - PrimeFaces p :blockUI blocking a certain component dynamically (on JSF EL condition)?

java - java接收html网页时出错

java - 类路径不工作

java - 来自 Java 的 NETSEND?

java - 如何在 Felix 中使用 Derby 客户端?

java - Primefaces 对话框 - 找不到属性类的 Setter

java - Moxy 无法解码覆盖父类(super class)的子类字段

java - 有没有办法将多个配置文件保存在插件文件夹的子文件夹中(Spigot 和 Maven)

maven - 什么是Maven存储库镜像的gradle等效项?

jquery - Primefaces 日历,为周末和节假日应用自定义样式