【发布时间】:2017-09-28 14:37:13
【问题描述】:
我在尝试实例化 Artifactory 客户端时遇到以下错误。
Artifactory artifactory = ArtifactoryClient.create(artifactoryUrl, "", "");
每当我在主函数中独立运行我的代码时,它都不会抛出异常并且可以正常工作。但是当我在 MVC 架构(WebApp)中运行它时,它会停止工作并抛出以下错误:
没有方法签名:com.fasterxml.jackson.databind.ObjectMapper.addMixIn() 适用于参数类型:(java.lang.Class, java.lang.Class) 值:[interface org.jfrog.artifactory. client.model.Repository,接口org.jfrog.artifactory.client.impl.jackson.RepositoryMixIn]
当它执行时,我得到下面的错误堆栈跟踪。我对这个问题进行了广泛的研究,除了这个问题中提到的错误之外,我没有发现任何人有类似的错误:https://github.com/JFrogDev/artifactory-client-java/issues/85
上述问题是由于错误的依赖关系造成的。我也得到了 2.4.6 版本的 artifactory 客户端和 jackson 库。
groovy.lang.MissingMethodException:没有方法签名:com.fasterxml.jackson.databind.ObjectMapper.addMixIn() 适用于参数类型:(java.lang.Class, java.lang.Class) 值:[接口org.jfrog.artifactory.client.model.Repository,接口 org.jfrog.artifactory.client.impl.jackson.RepositoryMixIn] 14:04:21,684 +0000 INFO [stdout](默认任务 22)在 org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:55) 14:04:21,684 +0000 INFO [stdout](默认任务 22)在 org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46) 14:04:21,684 +0000 INFO [stdout](默认任务 22)在 org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) 14:04:21,684 +0000 INFO [stdout](默认任务 22)在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) 14:04:21,684 +0000 INFO [stdout](默认任务 22)在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120) 14:04:21,684 +0000 INFO [stdout](默认任务 22)在 org.jfrog.artifactory.client.impl.ArtifactoryImpl.(ArtifactoryImpl.groovy:46) 14:04:21,684 +0000 INFO [stdout](默认任务 22)在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 14:04:21,684 +0000 INFO [stdout](默认任务 22)在 sun.reflect.NativeConstructorAccessorImpl.newInstance(未知来源) 14:04:21,684 +0000 INFO [stdout](默认任务 22)在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知来源) 14:04:21,684 +0000 INFO [stdout](默认任务 22)在 java.lang.reflect.Constructor.newInstance(未知来源) 14:04:21,684 +0000 INFO [stdout](默认任务 22)在 org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77) 14:04:21,684 +0000 INFO [stdout](默认任务 22)在 org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102) 14:04:21,684 +0000 INFO [stdout](默认任务 22)在 org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57) 14:04:21,692 +0000 INFO [stdout](默认任务 22)在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182) 14:04:21,692 +0000 INFO [stdout](默认任务 22)在 org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:194) 14:04:21,692 +0000 INFO [stdout](默认任务 22)在 org.jfrog.artifactory.client.ArtifactoryClient.create(ArtifactoryClient.groovy:95) 14:04:21,693 +0000 INFO [stdout](默认任务 22)在 org.jfrog.artifactory.client.ArtifactoryClient.create(ArtifactoryClient.groovy) 14:04:21,693 +0000 INFO [stdout](默认任务 22)在 com.xyz.abc.utils.WGArtifactoryUtils.getFiles(WGArtifactoryUtils.java:41) 14:04:21,693 +0000 INFO [stdout](默认任务 22)在 com.xyz.abc.lakshya.controllers.ListPlController.findFilesFromArtifactory(ListPlController.java:196) 14:04:21,693 +0000 INFO [stdout](默认任务 22)在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 14:04:21,694 +0000 INFO [stdout](默认任务 22)在 sun.reflect.NativeMethodAccessorImpl.invoke(未知来源) 14:04:21,695 +0000 INFO [stdout](默认任务 22)在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源) 14:04:21,695 +0000 INFO [stdout](默认任务 22)在 java.lang.reflect.Method.invoke(未知来源) 14:04:21,695 +0000 INFO [stdout](默认任务 22)在 org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215) 14:04:21,696 +0000 INFO [stdout](默认任务 22)在 org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) 14:04:21,696 +0000 INFO [stdout](默认任务 22)在 org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) 14:04:21,696 +0000 INFO [stdout](默认任务 22)在 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749) 14:04:21,696 +0000 INFO [stdout](默认任务 22)在 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:690) 14:04:21,697 +0000 INFO [stdout](默认任务 22)在 org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83) 14:04:21,697 +0000 INFO [stdout](默认任务 22)在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945) 14:04:21,697 +0000 INFO [stdout](默认任务 22)在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876) 14:04:21,698 +0000 INFO [stdout](默认任务 22)在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) 14:04:21,698 +0000 INFO [stdout](默认任务 22)在 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863) 14:04:21,698 +0000 INFO [stdout](默认任务 22)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:707) 14:04:21,699 +0000 INFO [stdout](默认任务 22)在 org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) 14:04:21,699 +0000 INFO [stdout](默认任务 22)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 14:04:21,699 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86) 14:04:21,699 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130) 14:04:21,699 +0000 INFO [stdout](默认任务 22)在 com.adobe.jobcloud.spring.security.filters.SessionTimeoutFilter.doFilter(SessionTimeoutFilter.java:65) 14:04:21,699 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) 14:04:21,700 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) 14:04:21,700 +0000 INFO [stdout](默认任务 22)在 com.adobe.jobcloud.ws.security.filters.UiResponseFilter.doFilterInternal(UiResponseFilter.java:55) 14:04:21,700 +0000 INFO [stdout](默认任务 22)在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) 14:04:21,700 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) 14:04:21,700 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) 14:04:21,700 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) 14:04:21,700 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) 14:04:21,700 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) 14:04:21,701 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 14:04:21,701 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) 14:04:21,701 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 14:04:21,701 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) 14:04:21,701 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 14:04:21,702 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) 14:04:21,702 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 14:04:21,702 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154) 14:04:21,702 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 14:04:21,703 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) 14:04:21,703 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 14:04:21,703 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150) 14:04:21,703 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 14:04:21,704 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199) 14:04:21,704 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 14:04:21,704 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) 14:04:21,704 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 14:04:21,705 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50) 14:04:21,705 +0000 INFO [stdout](默认任务 22)在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) 14:04:21,705 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 14:04:21,705 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) 14:04:21,705 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 14:04:21,706 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) 14:04:21,706 +0000 INFO [stdout](默认任务 22)在 org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) 14:04:21,706 +0000 INFO [stdout](默认任务 22)在 org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) 14:04:21,706 +0000 INFO [stdout](默认任务 22)在 org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) 14:04:21,706 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) 14:04:21,707 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) 14:04:21,707 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85) 14:04:21,707 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) 14:04:21,707 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) 14:04:21,709 +0000 INFO [stdout](默认任务 22)在 org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) 14:04:21,709 +0000 INFO [stdout](默认任务 22)在 io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 14:04:21,709 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) 14:04:21,710 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) 14:04:21,710 +0000 INFO [stdout](默认任务 22)在 io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 14:04:21,711 +0000 INFO [stdout](默认任务 22)在 io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) 14:04:21,711 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) 14:04:21,716 +0000 INFO [stdout](默认任务 22)在 io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) 14:04:21,716 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70) 14:04:21,716 +0000 INFO [stdout](默认任务 22)在 io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) 14:04:21,717 +0000 INFO [stdout](默认任务 22)在 io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 14:04:21,719 +0000 INFO [stdout](默认任务 22)在 org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) 14:04:21,719 +0000 INFO [stdout](默认任务 22)在 io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 14:04:21,719 +0000 INFO [stdout](默认任务 22)在 io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 14:04:21,719 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261) 14:04:21,719 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:248) 14:04:21,719 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:77) 14:04:21,719 +0000 INFO [stdout](默认任务 22)在 io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:167) 14:04:21,720 +0000 INFO [stdout](默认任务 22)在 io.undertow.server.Connectors.executeRootHandler(Connectors.java:199) 14:04:21,720 +0000 INFO [stdout](默认任务 22)在 io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:761) 14:04:21,720 +0000 INFO [stdout](默认任务 22)在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源) 14:04:21,720 +0000 INFO [stdout](默认任务 22)在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源) 14:04:21,720 +0000 INFO [stdout] (default task-22) at java.lang.Thread.run(Unknown Source)
我正在使用以下版本:
神器:2.4.6
杰克逊(数据绑定,注释,核心):2.4.6
【问题讨论】:
-
请发布您在网络应用中使用的 pom/gradle 构建文件
-
肯定是依赖问题。正如@zero01alpha 提到的,让我们尝试找出有问题的依赖项。您使用的是哪种构建工具?
-
@zero01alpha 它是一个巨大的项目,它导入了许多其他辅助项目。我正在提供我的项目中存在的依赖层次结构。希望有效:artifactory-java-client-services:2.3.5 jackson-databind:2.4.6 jackson-core:2.4.6 jackson-annotations:2.4.6 jackson-mapper-asl:1.9.12 jackson-core-asl :1.9.12
-
@JBaruch 我正在使用 Maven。我在之前的评论中提供了依赖层次结构
标签: java groovy artifactory objectmapper jackson-databind