我将项目从JBOSS迁移到Wildfly Server。我在standalone.xml
做了一些更改,一切正常,但是当我从Postman发送JSON请求时,我得到以下异常:
ERROR [io.undertow.request] (default task-2) UT005023: Exception handling request to /service/api/authenticate: java.lang.NoClassDefFoundError: org/jboss/resteasy/core/ResourceMethod
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.getDeclaredMethods(Class.java:1975)
at org.jboss.resteasy.core.PropertyInjectorImpl.populateMap(PropertyInjectorImpl.java:73)
at org.jboss.resteasy.core.PropertyInjectorImpl.<init>(PropertyInjectorImpl.java:54)
at org.jboss.resteasy.core.InjectorFactoryImpl.createPropertyInjector(InjectorFactoryImpl.java:65)
at org.jboss.resteasy.cdi.CdiInjectorFactory.createPropertyInjector(CdiInjectorFactory.java:113)
at org.jboss.resteasy.spi.ResteasyProviderFactory.injectedInstance(ResteasyProviderFactory.java:2237)
at org.jboss.resteasy.core.interception.JaxrsInterceptorRegistry$AbstractInterceptorFactory.createInterceptor(JaxrsInterceptorRegistry.java:170)
at org.jboss.resteasy.core.interception.JaxrsInterceptorRegistry$LegacyPerMethodInterceptorFactory.getInterceptor(JaxrsInterceptorRegistry.java:329)
at org.jboss.resteasy.core.interception.JaxrsInterceptorRegistry$AbstractLegacyInterceptorFactory.getLegacyMatch(JaxrsInterceptorRegistry.java:269)
at org.jboss.resteasy.core.interception.ContainerRequestFilterRegistry$1.postMatch(ContainerRequestFilterRegistry.java:67)
at org.jboss.resteasy.core.interception.JaxrsInterceptorRegistry.postMatch(JaxrsInterceptorRegistry.java:405)
at org.jboss.resteasy.core.interception.ContainerRequestFilterRegistry.postMatch(ContainerRequestFilterRegistry.java:57)
at org.jboss.resteasy.core.ResourceMethodInvoker.<init>(ResourceMethodInvoker.java:105)
at org.jboss.resteasy.core.ResourceMethodRegistry.processMethod(ResourceMethodRegistry.java:281)
at org.jboss.resteasy.core.ResourceMethodRegistry.register(ResourceMethodRegistry.java:252)
at org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:222)
at org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:194)
at org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:180)
at org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:157)
at org.jboss.resteasy.core.ResourceMethodRegistry.addPerRequestResource(ResourceMethodRegistry.java:76)
at org.jboss.resteasy.spi.ResteasyDeployment.registration(ResteasyDeployment.java:404)
at org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:245)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:113)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.init(HttpServletDispatcher.java:36)
at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:117)
at org.wildfly.extension.undertow.security.RunAsLifecycleInterceptor.init(RunAsLifecycleInterceptor.java:78)
at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:103)
at io.undertow.servlet.core.ManagedServlet$DefaultInstanceStrategy.start(ManagedServlet.java:231)
at io.undertow.servlet.core.ManagedServlet.getServlet(ManagedServlet.java:170)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:84)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
at co.gbt.chila.service.filters.CORSFilter.doFilter(CORSFilter.java:83)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
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:62)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
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:64)
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 org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
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:284)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:263)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: org.jboss.resteasy.core.ResourceMethod from [Module "deployment.co.gbt.ear-0.1-SNAPSHOT.ear.co.gbt.service-0.1-SNAPSHOT.war:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93)
... 63 more
在我的pom.xml
我有版本:
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
<version>2.3.7.Final</version>
<scope>provided</scope>
</dependency>
在目录(wildfly-10.0.0.Final/modules/system/layers/base/org/jboss/resteasy/resteasy-multipart-provider/main
)的module.xml中,我有:
<module xmlns="urn:jboss:module:1.3" name="org.jboss.resteasy.resteasy-multipart-provider">
<resources>
<resource-root path="resteasy-multipart-provider-2.3.7.Final.jar"/>
<resource-root path="resteasy-multipart-provider-2.3.2.Final-jandex.jar"/>
</resources>
<dependencies>
<module name="javax.xml.bind.api"/>
<module name="javax.api"/>
<module name="javax.enterprise.api"/>
<module name="javax.mail.api"/>
<module name="javax.servlet.api"/>
<module name="javax.ws.rs.api"/>
<module name="org.apache.james.mime4j"/>
<module name="org.jboss.resteasy.resteasy-jaxb-provider"/>
<module name="org.jboss.resteasy.resteasy-jaxrs"/>
<module name="org.jboss.logging"/>
</dependencies>
</module>
答案 0 :(得分:1)
转到JBoss / Wildfly目录搜索 select * from (
SELECT
rhm_job_seqs.repair_ref AS "Repair Reference",
rhm_repairs.tenant_name AS "Tenant Name",
rhm_repairs.tenant_address1 AS "Tenant Address1",
rhm_repairs.tenant_address2 AS "Tenant Address2",
rhm_repairs.tenant_postcode AS "Tenant PostCode",
rhm_job_seqs.job_seq AS "Job Sequence",
rhm_trades.trade_code AS "Trade Code",
rhm_trades.trade_desc AS "Trade",
row_number() over (partition by rhm_job_seqs.repair_ref order by rhm_job_seqs.repair_ref, rhm_job_seqs.job_seq) r
FROM (
RHM_REPAIRS
INNER JOIN RHM_JOB_SEQS ON RHM_REPAIRS.REPAIR_REF = RHM_JOB_SEQS.REPAIR_REF)
INNER JOIN RHM_OPERATORS ON RHM_JOB_SEQS.OPERATOR_ID1 = RHM_OPERATORS.OPERATOR_ID
INNER JOIN rhm_repair_type ON rhm_repairs.repair_type = rhm_repair_type.repair_type
INNER JOIN rhm_trades ON rhm_job_seqs.trade_code = rhm_trades.trade_code
INNER JOIN rhm_subareas ON rhm_repairs.subarea_no = rhm_subareas.subarea_no
INNER JOIN rhm_yhn_areas ON rhm_subareas.yhn_area_no = rhm_yhn_areas.area_no
WHERE
NOT (RHM_REPAIRS.TENANT_ADDRESS1 LIKE '9999Z' OR
RHM_REPAIRS.TENANT_ADDRESS1 LIKE '9999z%' OR
RHM_REPAIRS.TENANT_ADDRESS1 LIKE 'block' OR
RHM_REPAIRS.TENANT_ADDRESS1 LIKE 'Block' OR
RHM_REPAIRS.TENANT_ADDRESS1 LIKE 'Block%' OR
RHM_REPAIRS.TENANT_ADDRESS1 LIKE 'BLOCK')
AND NOT (RHM_REPAIRS.JOB_PRIORITY LIKE 'I' OR RHM_REPAIRS.JOB_PRIORITY LIKE 'V')
AND (RHM_REPAIRS.REPAIR_TYPE LIKE '2' OR
RHM_REPAIRS.REPAIR_TYPE LIKE 'G' OR
RHM_REPAIRS.REPAIR_TYPE LIKE 'S' OR
RHM_REPAIRS.REPAIR_TYPE LIKE 'X')
AND RHM_REPAIRS.TENANT_NAME <> 'VOID'
AND RHM_REPAIRS.TENANT_NAME <> 'Void'
AND RHM_REPAIRS.TENANT_NAME IS NOT NULL
AND RHM_JOB_SEQS.JOB_SEQ_STATUS <> 'X'
AND rhm_repairs.repair_completed BETWEEN SYSDATE-20 AND SYSDATE
AND RHM_REPAIRS.SUBAREA_NO <> '99'
AND rhm_job_seqs.repair_ref IN ('57342819','57257795')
AND rhm_job_seqs.job_seq = '1'
) where r = 1
ORDER BY
"Repair Reference", "Job Sequence"
,您将获得JBoss正在使用的resteasy库版本,在pom.xml中添加该版本
resteasy-jaxrs*
答案 1 :(得分:0)
我刚刚解决了这个问题。我将resteasy的版本更改为<version>3.0.14.Final</version>