0

我正在尝试编译由其他人编写的源代码,以在玻璃鱼上执行。但是当我尝试在 glassfish 3.1.2 环境中执行时得到以下期望。我添加了 lucene-core.jar,glassfish 运行时库。

严重:部署应用程序时出现异常 [未披露]:org/apache/lucene/search/SortComparatorSourceat org.glassfish.apf.AnnotationInfo@18c52fe org/apache/lucene/search/SortComparatorSourceat org.glassfish.apf.AnnotationInfo@18c52fe at org. glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:367) at org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:375) at org.glassfish.apf.impl.AnnotationProcessorImpl.processAnnotations(AnnotationProcessorImpl. java:289) 在 org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:217) 在 org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:134) 在 com.sun.enterprise.deployment .archivist.Archivist.processAnnotations(Archivist.java:598) 在 com.sun.enterprise.deployment.archivist.Archivist。readAnnotations(Archivist.java:442) at com.sun.enterprise.deployment.archivist.Archivist.readAnnotations(Archivist.java:429) at com.sun.enterprise.deployment.archivist.Archivist.readRestDeploymentDescriptors(Archivist.java:405)在 com.sun.enterprise.deployment.archivist.Archivist.readDeploymentDescriptors(Archivist.java:380) 在 com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:243) 在 com.sun.enterprise.deployment .archivist.Archivist.open(Archivist.java:252) 在 com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:213) 在 com.sun.enterprise.deployment.archivist.ApplicationFactory.openArchive(ApplicationFactory .java:165) 在 org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:185) 在 org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:94) 在 com。 sun.enterprise.v3.server。ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:827) 在 com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:769) 在 com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java: 368) 在 com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240) 在 org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389) 在 com.sun.enterprise.v3 .admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand( CommandRunnerImpl.java:1085) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext。在 com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1259) 在 com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:第461章) .v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117) 在 com.sun.enterprise.v3.services.impl.ContainerMapper$Hk2DispatcherCallable.call(ContainerMapper.java:354) 在 com.sun.enterprise.v3.services .impl.ContainerMapper.service(ContainerMapper.java:195) 在 com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860) 在 com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757 ) 在 com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056) 在 com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229) 在 com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) 在 com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain .java:104) 在 com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) 在 com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) 在 com.sun.grizzly.ProtocolChainContextTask。 doCall(ProtocolChainContextTask.java:54) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) at com.sun.grizzly.ContextTask.run(ContextTask.java:71) at com.sun.grizzly.util .AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) 在 com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) 在 java.lang.Thread.run(Thread.java:722) 引起:java.lang.NoClassDefFoundError: org/apache/lucene/search/SortComparatorSource at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:266) at com。 sun.enterprise.deployment.util.TypeUtil.getMethod(TypeUtil.java:399) 在 com.sun.enterprise.deployment.MethodDescriptor.getMethod(MethodDescriptor.java:298) 在 org.glassfish.ejb.deployment.annotation.handlers。 TransactionAttributeHandler.processAnnotation(TransactionAttributeHandler.java:101) 在 org.glassfish.ejb.deployment.annotation.handlers.AbstractAttributeHandler.processAnnotation(AbstractAttributeHandler.java:183) 在 org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java: 344)... 46 更多原因:java.lang.ClassNotFoundException:com.sun.enterprise.loader.ASURLClassLoader 的 org.apache.lucene.search.SortComparatorSource。findClassData(ASURLClassLoader.java:808) at com.sun.enterprise.loader.ASURLClassLoader.findClass(ASURLClassLoader.java:696) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at java.lang.ClassLoader.loadClass (ClassLoader.java:356) ... 53 更多

请就我可能遗漏的内容或可能出现的问题提供一些建议。谢谢

4

2 回答 2

2

好吧,很遗憾看到没有帮助,但最后我想出了解决方案,想到发布它,因为这可能对某人有帮助。问题是因为代码在 Java EE Glassfish 2.1 上编译,但不是 Glassfish 3.1 Lucene 包已经过时。更新 Lucene 会导致问题,所以我必须摆脱代码中使用的贬值 API,然后编译。

于 2013-05-25T10:34:06.377 回答
0

就我而言,在尝试了很多事情之后,比如清理缓存、其他 JDK 版本等。我通过重新启动操作系统解决了这个问题

于 2021-05-22T19:28:57.043 回答