2017-09-28 49 views
1

当我尝试实例化Artifactory客户端时,出现以下错误。由于没有方法签名,Artifactory.createClient()抛出JFrog Artifactory的异常

Artifactory artifactory = ArtifactoryClient.create(artifactoryUrl, "", ""); 

每当我在主函数中独立运行我的代码时,它不会引发异常并正常工作。但是,当我在一个MVC架构(Web应用程序),它停止工作,引发以下错误运行:

法无签名:com.fasterxml.jackson.databind.ObjectMapper.addMixIn()是适用于参数类型:( java.lang.Class,java.lang.Class)values:[interface org.jfrog.artifactory.client.model.Repository,interface org.jfrog.artifactory.client.impl.jackson.RepositoryMixIn]

我得到执行时下面的错误堆栈跟踪。我对这个问题做了广泛的研究,除了本期引用的错误之外,我还没有发现任何人有类似的错误:https://github.com/JFrogDev/artifactory-client-java/issues/85

上面的问题是由于错误的依赖关系。我也获得了artifactory客户端和jackson库的2.4.6版本。

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(Cal lSiteArray.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)at org.jfrog.artifactory.client.impl.ArtifactoryImpl。(ArtifactoryImpl.groovy:46) 14:04:21,684 +0000 INFO [stdout](default task-22)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native方法) 14:04:21,684 +0000 INFO [stdout](默认任务-22)在sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源) 14:04:21,684 +0000 INFO [stdout]在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知所以urce) 14:04:21,684 +0000 INFO [stdout](default task-22)at java.lang.reflect.Constructor.newInstance(Unknown Source) 14:04:21,684 +0000 INFO [stdout] 22)at 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)at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182) 14:04:21,692 +0000 INFO [ stdout](默认任务-22)在org.codeha us.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:194) 14:04:21,692 +0000 INFO [stdout](默认任务22)at org.jfrog.artifactory.client.ArtifactoryClient.create(ArtifactoryClient 。groovy:95) 14:04:21,693 +0000 INFO [stdout](默认任务22)at org.jfrog.artifactory.client.ArtifactoryClient.create(ArtifactoryClient.groovy) 14:04:21,693 +0000 INFO [stdout ](default task-22)at com.xyz.abc.utils.WGArtifactoryUtils.getFiles(WGArtifactoryUtils.java:41) 14:04:21,693 +0000 INFO [stdout](default task-22)at com.xyz.abc .lakshya.controllers.ListPlController.findFilesFromArtifactory(ListPlController.java:196) 14:04:21,693 +0000 INFO [stdout](默认任务22)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 14:04:在sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)21694 0000 INFO [标准输出](默认任务-22) 14:04:21695 0000 INFO [标准输出](默认任务-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]在org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215) 14:04:21696 0000 INFO [标准输出](默认任务-22)在org.springframework.web.method.support。 InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) 14:04:21,696 +0000 INFO [标准输出](默认任务22)在org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java :104) 14:04:21,696 +0000信息[标准输出](默认任务22)在org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749) 14:04 :21,696 +0000 INFO [标准输出]在org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:690)(默认任务-22) 14:04:21697 0000 INFO [标准输出](默认任务-22)在org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83) 14:04:21697 0000 INFO [标准输出](默认任务-22)在org.springframework.web .servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945) 14:04:21697 0000 INFO [标准输出](默认任务-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.sp ringframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863) 14:04:21698 0000 INFO [标准输出]在javax.servlet.http.HttpServlet.service((默认任务-22)HttpServlet.java:707 ) 14:04:21,699 +0000 INFO [stdout](默认任务22)at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) 14:04:21,699 +0000 INFO [stdout] (默认任务22)在io.undertow.servlet.handlers上的javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 14:04:21,699 +0000 INFO [stdout](默认任务22)。 ServletHandler.handleRequest(ServletHandler.java:86) 14:04:21,699 +0000 INFO [stdout](默认任务22)at io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:130) 14:04:21,699 +0000 INFO [标准输出](默认任务22)在com.adobe.jobcloud.sp ring.security.filters.SessionTimeoutFilter.doFilter(SessionTimeoutFilter.java:65) 14:04:21,699 +0000 INFO [stdout](默认任务22)at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java :60) 14:04:21,700 +0000 INFO [stdout](default task-22)at io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:132) 14:04:21,700 +0000 INFO [stdout](默认任务22)at com.adobe.jobcloud.ws.security.filters.UiResponseFilter.doFilterInternal(UiResponseFilter.java:55) 14:04:21,700 +0000 INFO [stdout](默认任务22 )at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) 14:04:21,700 +0000 INFO [stdout](默认任务22)at io.undertow.servlet.core.ManagedFilter.doFilter (ManagedFilter。java:60) 14:04:21,700 +0000 INFO [stdout](default task-22)at io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:132) 14:04:21,700 + 0000 INFO [标准输出](默认任务-22)在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:330) 14:04:21700 0000 INFO [标准输出](默认任务-22)在org.springframework.security.web上的org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) 14:04:21,700 +0000 INFO [stdout](默认任务22)。 access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) 14:04:21,701 +0000 INFO [标准输出](默认任务22)在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java :342) 14:04:21701 0000 INFO [标准输出](默认任务-22)在org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) 14:04:21701 0000 INFO [标准输出](默认任务22)at org.springframework.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 [标准输出(默认任务-22)在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter( FilterChainProxy.java:342) 14:04:21,702 +0000 INFO [stdout](默认任务-22)at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) 14:04:21,702 +0000 INFO [stdout](默认任务22)at org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) 14:04:21,702 +0000 INFO [stdout ](默认任务-22)在org.springframework上的org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154) 14:04:21,702 +0000 INFO [stdout](默认任务-22) .security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) 14:04:21,703 +0000 INFO [stdout](默认任务-22)at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter( RequestCacheAwareFilter.java:45) 14:04:21,703 +0000 INFO [stdout](默认任务-22)at org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) 14:04:21703 0000 INFO [标准输出](默认任务-22)在org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150) 14:04:21703 0000 INFO在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)标准输出(默认任务-22) 14:04:21704 +0000 INFO [标准输出]在(默认任务-22)组织.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在org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)](默认任务-22) 14:04:21705 0000 INFO [标准输出](默认任务-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 [标准输出](默认任务22)在org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter。java:87) 14:04:21,705 +0000 INFO [stdout](default task-22)at org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) 14:04:21,706 +在org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) 14:04:21,706 +0000 INFO [stdout](默认任务-22)上的INFO [stdout] .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 [标准输出](默认任务在io.undertow.servlet.handlers上的io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) 14:04:21,707 +0000 INFO [stdout](默认任务22)。 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信息[标准输出](默认任务22)在io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) 14:04:21,707 +0000信息[标准输出] (默认任务22)在org.wildfly.extension的io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) 14:04:21,709 +0000 INFO [stdout](默认任务22)。 undertow.security.SecurityContextAssociationHandler.handleRequest(SECUR ityContextAssociationHandler.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)at 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 [标准输出](默认任务22)at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHand ler.java:46) 14:04:21,711 +0000 INFO [stdout](默认任务22)at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) 14:04: 21,716 +0000 INFO [stdout](默认任务22)at 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 [标准输出](默认任务22)at io.undertow.server.handlers.PredicateHandler.handleRequest(Predica teHandler.java:43) 14:04:21,719 +0000 INFO [stdout](默认任务-22)at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) 14: 04:21,719 +0000 INFO [stdout](default task-22)at 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](default task-22)at io.undertow.servlet.handlers.ServletInitialHandler.access $ 000(ServletInitialHandler.java:77) 14:04:21,719 +0000 INFO [标准输出(默认任务-22)在io.undertow.servlet.handlers.ServletInitialHandler $ 1.handleRequest(ServletInitialHandler.java:167) 14:04:21720 +0000 INFO [标准输出(默认任务-22)在IO .undertow.server.Connectors.executeRootHandler(Connectors.java:199) 14:04:21720 +0000 INFO [标准输出(默认任务-22)在io.undertow.server.HttpServerExchange $ 1.run(HttpServerExchange.java:761 ) 14:04:21720 0000 INFO [标准输出](默认在java.util.concurrent.ThreadPoolExecutor.runWorker任务-22)(未知来源) 14:04:21720 0000 INFO [标准输出](默认任务-22 )在java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知源) 14:04:21720 +0000 INFO [标准输出(默认任务-22)在java.lang.Thread.run(来源不明)

我使用以下版本:

Artifactory的:2.4 0.6

杰克逊(数据绑定,注释,核心):2.4.6

+0

请张贴POM/gradle这个建立你使用你的Web应用程序 – zero01alpha

+2

文件,这是肯定的依赖问题。正如@ zero01alpha提到的那样,让我们​​尝试找到有问题的依赖关系。你使用哪种构建工具? – JBaruch

+0

@ zero01alpha其巨大的项目,进口了很多其他辅助项目。我正在提供项目中的依赖关系层次结构。希望工程: artifactory的-Java的客户端服务:2.3.5 杰克逊 - 数据绑定:2.4.6 杰克逊核心:2.4.6 杰克逊的注解:2.4.6 杰克逊映射器-ASL:1.9。 12 杰克逊核心ASL:1.9.12 – pratibha

回答

0

您需要使用杰克逊,数据绑定的版本至少为2.4.4。在下面的版本中不存在com.fasterxml.jackson.databind.ObjectMapper.addMixin(Class<?>, Class<?>)

<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-databind</artifactId> 
    <version>2.4.4</version> 
</dependency> 

编辑:我看错以前的评论,这使得这个答案不正确。离开这里它现在和将编辑一旦我们弄清楚

+0

中提供了依赖关系层次结构,我已经使用了2.4.6版本。我的代码工作,当我在单独的电源功能,运行它,但它停止工作时,我在我的项目在业务层 – pratibha

+0

哎呀使用它,我误解你的批评是使用数据绑定的2.3.5版本。那么我最好的猜测是,在你的大型多层次项目中,对于较低版本的杰克逊的依赖性正在被拉进来,并成为你正在使用的那个。我们真的需要看到整个项目的依赖关系来帮助你 – zero01alpha