繁体   English   中英

使用 Spark 依赖项将 EJB 项目部署到 JBoss-AS 并抛出 ClassNotFoundException

[英]Deploying EJB Project to JBoss-AS with Spark dependencies throwing ClassNotFoundException

我正在尝试部署一个 EJB 项目,该项目使用 Spark 库加载到经过训练的 ML model,然后从那里进行预测。 当我尝试在 Wildfly 服务器上部署项目时,它会引发以下错误。 我无法弄清楚为什么它会抛出那个classnotfoundexception,项目中有一个引用的jar,里面有那个package: 在此处输入图像描述 关于为什么会发生此错误/如何解决此错误的任何想法?

谢谢!

错误信息:

20:34:13,864 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC000001: Failed to start service jboss.deployment.unit."kmeans-ejb.jar".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."kmeans-ejb.jar".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment "kmeans-ejb.jar"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:183)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
    at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
    at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException: WFLYSRV0177: Error getting reflective information for class ec.spark.KMeansStateless with ClassLoader ModuleClassLoader for Module "deployment.kmeans-ejb.jar" from Service Module Loader
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:78)
    at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:57)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:106)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:91)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:76)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:176)
    ... 8 more
Caused by: java.lang.NoClassDefFoundError: org/apache/spark/api/java/function/Function
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
    at java.lang.Class.getDeclaredFields(Class.java:1916)
    at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:72)
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70)
    ... 13 more
Caused by: java.lang.ClassNotFoundException: org.apache.spark.api.java.function.Function from [Module "deployment.kmeans-ejb.jar" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:255)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
    ... 18 more

20:34:13,866 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "kmeans-ejb.jar")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"kmeans-ejb.jar\".POST_MODULE" => "WFLYSRV0153: Failed to process phase POST_MODULE of deployment \"kmeans-ejb.jar\"
    Caused by: java.lang.RuntimeException: WFLYSRV0177: Error getting reflective information for class ec.spark.KMeansStateless with ClassLoader ModuleClassLoader for Module \"deployment.kmeans-ejb.jar\" from Service Module Loader
    Caused by: java.lang.NoClassDefFoundError: org/apache/spark/api/java/function/Function
    Caused by: java.lang.ClassNotFoundException: org.apache.spark.api.java.function.Function from [Module \"deployment.kmeans-ejb.jar\" from Service Module Loader]"}}

可能是您的战争文件中没有捆绑必需的 jar。 提取您的战争文件并查看

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM