Glassfish - java.lang.NoClassDefFoundError: org/primefaces/model/UploadedFile
Glassfish - java.lang.NoClassDefFoundError: org/primefaces/model/UploadedFile
我有一个基于 Maven 的项目。这是项目在 eclipse 中的样子:
所以我有单独的前端和后端打包成一个 EAR
。该应用程序部署在 Weblogic 12c server
,但现在我必须将其移动到 Glassfish
。我可以部署到 Glassfish
,我的应用程序是 运行。但是,当我调用一个使用 Primefaces UploadFile
class 的方法时,我收到了一条错误消息。这是错误消息:
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 依赖项在我的 class 路径中,如您在这张图片中所见:
我的问题是,我应该将 Primefaces jar 放在哪里,以便 Glassfish
在运行时可见?
您需要将依赖项添加到 Glassfish 的 /lib 文件夹,因为容器将在此处检查它们 或 将它们与可部署工件捆绑在一起 - 在您的例子中是 .ear 文件。当您使用 Maven 时,有几个可用的插件可以帮助您,例如Maven Assembly 或 Maven Ear 插件。
-根据我上面的评论回答。
我有一个基于 Maven 的项目。这是项目在 eclipse 中的样子:
所以我有单独的前端和后端打包成一个 EAR
。该应用程序部署在 Weblogic 12c server
,但现在我必须将其移动到 Glassfish
。我可以部署到 Glassfish
,我的应用程序是 运行。但是,当我调用一个使用 Primefaces UploadFile
class 的方法时,我收到了一条错误消息。这是错误消息:
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 依赖项在我的 class 路径中,如您在这张图片中所见:
我的问题是,我应该将 Primefaces jar 放在哪里,以便 Glassfish
在运行时可见?
您需要将依赖项添加到 Glassfish 的 /lib 文件夹,因为容器将在此处检查它们 或 将它们与可部署工件捆绑在一起 - 在您的例子中是 .ear 文件。当您使用 Maven 时,有几个可用的插件可以帮助您,例如Maven Assembly 或 Maven Ear 插件。
-根据我上面的评论回答。