如何解决InvalidPathException - 降级到 8.4.0 或解决方法
我刚刚使用 Optaplanner 开始了一个新项目,一旦我开始构建约束,我就会收到“InvalidpathException: Illegal char at index 4:”,这是 drools 中的一个已知错误。
我从 Stackoverflow 的某个人那里读到这个错误是在 8.4.0 Final 之后的某个地方引入的,所以我想知道我是如何成功地将我的版本降级到那个版本的。
我目前正在使用:
- Optaplanner 8.8.0 最终版
- Quarkus 2.0.2 最终版
- 打开 JDK 11
- Windows 10
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-quarkus</artifactId>
<version>8.4.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-quarkus-jackson</artifactId>
<version>8.4.0.Final</version>
</dependency>
但是当我遇到这个异常时,老实说,我什至不知道从哪里开始故障排除或尝试解决这个问题。
org.jboss.resteasy.spi.UnhandledException: java.lang.NoSuchMethodError: org.optaplanner.core.impl.domain.common.accessor.gizmo.GizmoMemberAccessorFactory.usePregeneratedMemberAccessorMap(Ljava/util/Map;)V
at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:106)
at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:372)
at org.jboss.resteasy.core.Synchronousdispatcher.writeException(Synchronousdispatcher.java:218)
at org.jboss.resteasy.core.Synchronousdispatcher.invoke(Synchronousdispatcher.java:519)
at org.jboss.resteasy.core.Synchronousdispatcher.lambda$invoke$4(Synchronousdispatcher.java:261)
at org.jboss.resteasy.core.Synchronousdispatcher.lambda$preprocess$0(Synchronousdispatcher.java:161)
at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364)
at org.jboss.resteasy.core.Synchronousdispatcher.preprocess(Synchronousdispatcher.java:164)
at org.jboss.resteasy.core.Synchronousdispatcher.invoke(Synchronousdispatcher.java:247)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerdispatcher.service(ServletContainerdispatcher.java:249)
at io.quarkus.resteasy.runtime.ResteasyFilter$ResteasyResponseWrapper.service(ResteasyFilter.java:70)
at io.quarkus.resteasy.runtime.ResteasyFilter$ResteasyResponseWrapper.sendError(ResteasyFilter.java:76)
at io.undertow.servlet.handlers.DefaultServlet.doGet(DefaultServlet.java:172)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:503)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
at io.quarkus.resteasy.runtime.ResteasyFilter.doFilter(ResteasyFilter.java:31)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:63)
at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
at io.undertow.servlet.handlers.ServletdispatchingHandler.handleRequest(ServletdispatchingHandler.java:36)
at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:67)
at io.undertow.servlet.handlers.security.SSLinformationAssociationHandler.handleRequest(SSLinformationAssociationHandler.java:133)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:65)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletinitialHandler.handleFirstRequest(ServletinitialHandler.java:247)
at io.undertow.servlet.handlers.ServletinitialHandler.access$100(ServletinitialHandler.java:56)
at io.undertow.servlet.handlers.ServletinitialHandler$2.call(ServletinitialHandler.java:111)
at io.undertow.servlet.handlers.ServletinitialHandler$2.call(ServletinitialHandler.java:108)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$9$1.call(UndertowDeploymentRecorder.java:587)
at io.undertow.servlet.handlers.ServletinitialHandler.dispatchRequest(ServletinitialHandler.java:227)
at io.undertow.servlet.handlers.ServletinitialHandler.handleRequest(ServletinitialHandler.java:152)
at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$1.handleRequest(UndertowDeploymentRecorder.java:119)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:290)
at io.undertow.server.DefaultExchangeHandler.handle(DefaultExchangeHandler.java:18)
at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$5$1.run(UndertowDeploymentRecorder.java:413)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at io.quarkus.vertx.core.runtime.VertxcoreRecorder$14.runWith(VertxcoreRecorder.java:481)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2442)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1476)
at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.NoSuchMethodError: org.optaplanner.core.impl.domain.common.accessor.gizmo.GizmoMemberAccessorFactory.usePregeneratedMemberAccessorMap(Ljava/util/Map;)V
at org.optaplanner.quarkus.gizmo.OptaPlannerGizmoInitializer$Implementation.setup(OptaPlannerGizmoInitializer$Implementation.zig:35)
at org.optaplanner.quarkus.gizmo.OptaPlannerGizmoInitializer$Implementation_Subclass.setup$$superforward1(OptaPlannerGizmoInitializer$Implementation_Subclass.zig:89)
at org.optaplanner.quarkus.gizmo.OptaPlannerGizmoInitializer$Implementation_Subclass$$function$$1.apply(OptaPlannerGizmoInitializer$Implementation_Subclass$$function$$1.zig:24)
at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:54)
at io.quarkus.arc.runtime.devconsole.InvocationInterceptor.proceed(InvocationInterceptor.java:62)
at io.quarkus.arc.runtime.devconsole.InvocationInterceptor.monitor(InvocationInterceptor.java:49)
at io.quarkus.arc.runtime.devconsole.InvocationInterceptor_Bean.intercept(InvocationInterceptor_Bean.zig:521)
at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:41)
at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:32)
at org.optaplanner.quarkus.gizmo.OptaPlannerGizmoInitializer$Implementation_Subclass.setup(OptaPlannerGizmoInitializer$Implementation_Subclass.zig:145)
at org.optaplanner.quarkus.gizmo.OptaPlannerGizmoInitializer$Implementation_ClientProxy.setup(OptaPlannerGizmoInitializer$Implementation_ClientProxy.zig:155)
at org.optaplanner.quarkus.OptaPlannerBeanProvider.solverFactory(OptaPlannerBeanProvider.java:52)
at org.optaplanner.quarkus.OptaPlannerBeanProvider_Prthod_solverFactory_ebf4e4a597d923cd2db0f0f5ac4206b6dba0ce58_Bean.create(OptaPlannerBeanProvider_ProducerMethod_solverFactory_ebf4e4a597d923cd2db0f0f5ac4206b6dba0ce58_Bean.zig:255)
at org.optaplanner.quarkus.OptaPlannerBeanProvider_ProducerMethod_solverFactory_ebf4e4a597d923cd2db0f0f5ac4206b6dba0ce58_Bean.create(OptaPlannerBeanProvider_ProducerMethod_solverFactory_ebf4e4a597d923cd2db0f0f5ac4206b6dba0ce58_Bean.zig:279)
at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:96)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:29)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:26)
at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:26)
at org.optaplanner.quarkus.OptaPlannerBeanProvider_ProducerMethod_solverFactory_ebf4e4a597d923cd2db0f0f5ac4206b6dba0ce58_Bean.get(OptaPlannerBeanProvider_ProducerMethod_solverFactory_ebf4e4a597d923cd2db0f0f5ac4206b6dba0ce58_Bean.zig:311)
at org.optaplanner.quarkus.OptaPlannerBeanProvider_ProducerMethod_solverFactory_ebf4e4a597d923cd2db0f0f5ac4206b6dba0ce58_Bean.get(OptaPlannerBeanProvider_ProducerMethod_solverFactory_ebf4e4a597d923cd2db0f0f5ac4206b6dba0ce58_Bean.zig:327)
at org.optaplanner.quarkus.OptaPlannerBeanProvider_ProducerMethod_solverManager_d6636211e93ca3985f0495d972987bdadf803f37_Bean.create(OptaPlannerBeanProvider_ProducerMethod_solverManager_d6636211e93ca3985f0495d972987bdadf803f37_Bean.zig:236)
at org.optaplanner.quarkus.OptaPlannerBeanProvider_ProducerMethod_solverManager_d6636211e93ca3985f0495d972987bdadf803f37_Bean.create(OptaPlannerBeanProvider_ProducerMethod_solverManager_d6636211e93ca3985f0495d972987bdadf803f37_Bean.zig:288)
at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:96)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:29)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:26)
at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:26)
at org.optaplanner.quarkus.OptaPlannerBeanProvider_ProducerMethod_solverManager_d6636211e93ca3985f0495d972987bdadf803f37_Bean.get(OptaPlannerBeanProvider_ProducerMethod_solverManager_d6636211e93ca3985f0495d972987bdadf803f37_Bean.zig:320)
at org.optaplanner.quarkus.OptaPlannerBeanProvider_ProducerMethod_solverManager_d6636211e93ca3985f0495d972987bdadf803f37_Bean.get(OptaPlannerBeanProvider_ProducerMethod_solverManager_d6636211e93ca3985f0495d972987bdadf803f37_Bean.zig:336)
at org.schedulingservices.services.solver.solverService_Bean.create(SolverService_Bean.zig:193)
at org.schedulingservices.services.solver.solverService_Bean.create(SolverService_Bean.zig:275)
at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:96)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:29)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:26)
at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:26)
at io.quarkus.arc.impl.ClientProxies.getApplicationScopedDelegate(ClientProxies.java:17)
at org.schedulingservices.services.solver.solverService_ClientProxy.arc$delegate(SolverService_ClientProxy.zig:67)
at org.schedulingservices.services.solver.solverService_ClientProxy.solve(SolverService_ClientProxy.zig:247)
at org.schedulingservices.GreetingResource.hello(GreetingResource.java:30)
at org.schedulingservices.GreetingResource_Subclass.hello$$superforward1(GreetingResource_Subclass.zig:157)
at org.schedulingservices.GreetingResource_Subclass$$function$$1.apply(GreetingResource_Subclass$$function$$1.zig:24)
at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:54)
at io.quarkus.arc.runtime.devconsole.InvocationInterceptor.proceed(InvocationInterceptor.java:62)
at io.quarkus.arc.runtime.devconsole.InvocationInterceptor.monitor(InvocationInterceptor.java:49)
at io.quarkus.arc.runtime.devconsole.InvocationInterceptor_Bean.intercept(InvocationInterceptor_Bean.zig:521)
at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:50)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorBase.invokeInOurTx(TransactionalInterceptorBase.java:127)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorBase.invokeInOurTx(TransactionalInterceptorBase.java:100)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorrequired.doIntercept(TransactionalInterceptorrequired.java:32)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorBase.intercept(TransactionalInterceptorBase.java:53)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorrequired.intercept(TransactionalInterceptorrequired.java:26)
at io.quarkus.narayana.jta.runtime.interceptor.TransactionalInterceptorrequired_Bean.intercept(TransactionalInterceptorrequired_Bean.zig:340)
at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:41)
at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:32)
at org.schedulingservices.GreetingResource_Subclass.hello(GreetingResource_Subclass.zig:213)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:170)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:130)
at org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:660)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:524)
at org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:474)
at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:364)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:476)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:434)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:408)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:69)
at org.jboss.resteasy.core.Synchronousdispatcher.invoke(Synchronousdispatcher.java:492)
... 54 more
有没有人知道如何降级(或针对最新最终版本的问题创建解决方法?
解决方法
我曾尝试使用最近发布的 OptaPlanner 8.9.0.Final 进行重现,但无法再重现。请升级。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。