有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

马文玻璃鱼爪哇。lang.NoClassDefFoundError:org/primefaces/model/UploadedFile

我有一个基于maven的项目。这是eclipse中项目的外观:

enter image description here

所以我有单独的前端和后端,它们被打包成一个EAR。应用程序部署在Weblogic 12c server上,但现在我必须将其移动到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在运行时可见


共 (1) 个答案

  1. # 1 楼答案

    您需要将依赖项添加到Glassfish的/lib文件夹中,因为容器将在这里检查它们,或者将它们与可部署工件捆绑在一起——在您的例子中是。耳锉。当您使用maven时,有几个插件可以帮助您,例如maven Assembly或maven Ear插件

    -根据我上面的评论回答