0

我正在尝试编译和部署neo4j-connector

neo4j-connector-impl (Neo4jManagedConnectionNeo4jResourceAdapter) 中的两个类具有以下注释:

@ConfigProperty
private boolean xa;

这编译得很好,但是当我尝试部署到 glassfish 3.1.1 时,我得到了一系列错误:

[boolean] 不是 org.glassfish.apf.AnnotationInfo@118944a 处允许的属性值类型.deployment.archivist.Archivist.readAnnotations(Archivist.java:490) 在 com.sun.enterprise.deployment.archivist.Archivist.readAnnotations(Archivist.java:432) 在 com.sun.enterprise.deployment.archivist.Archivist.readRestDeploymentDescriptors (Archivist.java:408) 在 com.sun.enterprise.deployment.archivist.Archivist.readDeploymentDescriptors(Archivist.java:383) 在 com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:246) 在com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:255) 在 com.sun.enterprise.deployment。archivist.Archivist.open(Archivist.java:216) at com.sun.enterprise.deployment.archivist.ApplicationFactory.openArchive(ApplicationFactory.java:165) at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider. java:181) 在 org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:93) 在 com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:828) 在 com.sun .enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:770) 在 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:382) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:355) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370) 在 com.sun。 Enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1064) at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:96) at com.sun.enterprise.v3.admin.CommandRunnerImpl $ExecutionContext.execute(CommandRunnerImpl.java:1244) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1232) at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter .java:459) 在 com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:209) 在 com.sun.grizzly.tcp.http11.GrizzlyAdapter。com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117) 上的服务(GrizzlyAdapter.java:168) com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java: 238) 在 com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828) 在 com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725) 在 com.sun.grizzly.http.ProcessorTask .process(ProcessorTask.java:1019) 在 com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225) 在 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) 在 com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask .java:59) 在 com.sun.grizzly.ContextTask.run(ContextTask.java:71) 在 com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) 在 com.sun.grizzly。 util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) at java.lang.Thread.run(Thread.java:680) 原因:[boolean] 不是 org.glassfish.apf.AnnotationInfo@ 中允许的属性值类型118944a 在 org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:367) 在 org.glassfish.apf.impl.AnnotationProcessorImpl。org.glassfish.apf.impl.AnnotationProcessorImpl.processAnnotations(AnnotationProcessorImpl.java:271) 上 org.glassfish.apf.impl.AnnotationProcessorImpl.processAnnotations(AnnotationProcessorImpl.java:289) 上的过程(AnnotationProcessorImpl.java:375) .apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:199) at org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:134) at com.sun.enterprise.deployment.archivist.Archivist.processAnnotations(Archivist .java:606) at com.sun.enterprise.deployment.archivist.Archivist.readAnnotations(Archivist.java:445) ... 39 更多原因:java.lang.IllegalArgumentException:[boolean] 不是允许的属性值类型在 com.sun.enterprise.deployment.EnvironmentProperty。checkType(EnvironmentProperty.java:178) 在 com.sun.enterprise.deployment.EnvironmentProperty.setType(EnvironmentProperty.java:239) 在 com.sun.enterprise.connectors.deployment.annotation.handlers.ConfigPropertyHandler.getConfigProperty(ConfigPropertyHandler.java: 221)在 com.sun.enterprise.connectors.deployment.annotation.handlers.ConfigPropertyHandler.handleConfigPropertyAnnotation(ConfigPropertyHandler.java:142) 在 com.sun.enterprise.connectors.deployment.annotation.handlers.ConfigPropertyHandler.processAnnotation(ConfigPropertyHandler.java: 91) 在 org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:344) ... 46 更多239) 在 com.sun.enterprise.connectors.deployment.annotation.handlers.ConfigPropertyHandler.getConfigProperty(ConfigPropertyHandler.java:221) 在 com.sun.enterprise.connectors.deployment.annotation.handlers.ConfigPropertyHandler.handleConfigPropertyAnnotation(ConfigPropertyHandler.java: 142) 在 com.sun.enterprise.connectors.deployment.annotation.handlers.ConfigPropertyHandler.processAnnotation(ConfigPropertyHandler.java:91) 在 org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:344) ... 46更多的239) 在 com.sun.enterprise.connectors.deployment.annotation.handlers.ConfigPropertyHandler.getConfigProperty(ConfigPropertyHandler.java:221) 在 com.sun.enterprise.connectors.deployment.annotation.handlers.ConfigPropertyHandler.handleConfigPropertyAnnotation(ConfigPropertyHandler.java: 142) 在 com.sun.enterprise.connectors.deployment.annotation.handlers.ConfigPropertyHandler.processAnnotation(ConfigPropertyHandler.java:91) 在 org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:344) ... 46更多的handleConfigPropertyAnnotation(ConfigPropertyHandler.java:142) at com.sun.enterprise.connectors.deployment.annotation.handlers.ConfigPropertyHandler.processAnnotation(ConfigPropertyHandler.java:91) at org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java: 344) ... 46 更多handleConfigPropertyAnnotation(ConfigPropertyHandler.java:142) at com.sun.enterprise.connectors.deployment.annotation.handlers.ConfigPropertyHandler.processAnnotation(ConfigPropertyHandler.java:91) at org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java: 344) ... 46 更多

我可以想出一些方法来解决它(例如,添加一个setXa(String)方法),但这感觉不对:这段代码自一年多前提交以来一直没有改变,那么为什么它不适合我呢?这里可能出了什么问题?

4

2 回答 2

0

在我看来,属性必须是简单的 java 对象,例如String,IntegerLong

int, long, boolean(primitives) 似乎有问题。

希望这可以帮助

于 2014-01-13T19:56:27.000 回答
0

也许您可以在 github 项目中向作者 Alex Smirnow 提出问题?

于 2012-06-21T15:53:39.693 回答