马文玻璃鱼爪哇。lang.NoClassDefFoundError:org/primefaces/model/UploadedFile
我有一个基于maven的项目。这是eclipse中项目的外观:
所以我有单独的前端和后端,它们被打包成一个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依赖项位于我的类路径中,如图所示:
我的问题是,我应该把Primefaces jar放在哪里,以使Glassfish
在运行时可见
# 1 楼答案
您需要将依赖项添加到Glassfish的/lib文件夹中,因为容器将在这里检查它们,或者将它们与可部署工件捆绑在一起——在您的例子中是。耳锉。当您使用maven时,有几个插件可以帮助您,例如maven Assembly或maven Ear插件
-根据我上面的评论回答