Nexus 无法下载 equalsverifier 2.x

Nexus can't download equalsverifier 2.x

每当我尝试通过 Sonatype Nexus 2.13.0-01 使用 Maven nl.jqno.equalsverifier:equalsverifier >= 2.0 下载时,只会下载 POM 文件。对于从 2.0 版开始的所有 equalsverifier-versions 都会发生这种情况。所有以前的版本都可以正常工作。如果我将 settings.xml 更改为直接从 central-maven 下载 jar,它就可以工作。

我在 Nexus 上创建了一些调试跟踪,我发现了以下问题:

2016-06-08 08:43:15 DEBUG [1823007270-8091] - org.sonatype.nexus.proxy.maven.maven2.M2Repository - Failed URL: http://repo.pentaho.org/artifactory/repo/
org.sonatype.nexus.proxy.LocalStorageEOFException: EOF during storing on path "pentaho:/nl/jqno/equalsverifier/equalsverifier/2.1/equalsverifier-2.1.jar" (while writing to hiddenTarget: "D:\Data\sonatype-work\nexus\storage\pentaho\.nexus\tmp\equalsverifier-2.1.jarnx-tmp3647598313511132679.nx-upload")
    at org.sonatype.nexus.proxy.storage.local.fs.DefaultFSPeer.storeItem(DefaultFSPeer.java:146) ~[nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.storage.local.fs.DefaultFSLocalRepositoryStorage.storeItem(DefaultFSLocalRepositoryStorage.java:390) ~[nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.doCacheItem(AbstractProxyRepository.java:906) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.maven.AbstractMavenRepository.doCacheItem(AbstractMavenRepository.java:485) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.maven.maven2.M2Repository.doCacheItem(M2Repository.java:231) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.doRetrieveRemoteItem(AbstractProxyRepository.java:1422) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.doRetrieveItem0(AbstractProxyRepository.java:1151) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.doRetrieveItem(AbstractProxyRepository.java:1034) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.maven.AbstractMavenRepository.doRetrieveItem(AbstractMavenRepository.java:398) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.maven.maven2.M2Repository.doRetrieveItem(M2Repository.java:398) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.repository.AbstractRepository.retrieveItem(AbstractRepository.java:760) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.repository.AbstractRepository.retrieveItem(AbstractRepository.java:592) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.repository.AbstractGroupRepository.doRetrieveItem(AbstractGroupRepository.java:262) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.maven.maven2.M2GroupRepository.doRetrieveItem(M2GroupRepository.java:153) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.repository.AbstractRepository.retrieveItem(AbstractRepository.java:760) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.repository.AbstractRepository.retrieveItem(AbstractRepository.java:592) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.router.DefaultRepositoryRouter.retrieveItem(DefaultRepositoryRouter.java:155) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.content.internal.ContentServlet.doGet(ContentServlet.java:381) [nexus-content-plugin-2.13.0-01/:na]
    at org.sonatype.nexus.content.internal.ContentServlet.service(ContentServlet.java:347) [nexus-content-plugin-2.13.0-01/:na]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) [javax.servlet-3.0.0.v201112011016.jar:na]
    at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:288) [guice-servlet-3.1.10.jar:3.1.10]
    at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:278) [guice-servlet-3.1.10.jar:3.1.10]
    at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:182) [guice-servlet-3.1.10.jar:3.1.10]
    at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93) [guice-servlet-3.1.10.jar:3.1.10]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85) [guice-servlet-3.1.10.jar:3.1.10]
    at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) [shiro-web-1.2.3.jar:1.2.3]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) [guice-servlet-3.1.10.jar:3.1.10]
    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-3.1.10.jar:3.1.10]
    at org.sonatype.nexus.web.internal.NexusGuiceFilter$MultiFilterChain.doFilter(NexusGuiceFilter.java:82) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:89) [guice-servlet-3.1.10.jar:3.1.10]
    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-3.1.10.jar:3.1.10]
    at org.sonatype.nexus.web.internal.NexusGuiceFilter$MultiFilterChain.doFilter(NexusGuiceFilter.java:82) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:89) [guice-servlet-3.1.10.jar:3.1.10]
    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-3.1.10.jar:3.1.10]
    at org.sonatype.nexus.web.internal.NexusGuiceFilter$MultiFilterChain.doFilter(NexusGuiceFilter.java:82) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:89) [guice-servlet-3.1.10.jar:3.1.10]
    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-3.1.10.jar:3.1.10]
    at org.sonatype.nexus.web.internal.NexusGuiceFilter$MultiFilterChain.doFilter(NexusGuiceFilter.java:82) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:89) [guice-servlet-3.1.10.jar:3.1.10]
    at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) [shiro-web-1.2.3.jar:1.2.3]
    at org.sonatype.nexus.web.internal.SecurityFilter.executeChain(SecurityFilter.java:90) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.apache.shiro.web.servlet.AbstractShiroFilter.call(AbstractShiroFilter.java:365) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) [shiro-core-1.2.3.jar:1.2.3]
    at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) [shiro-core-1.2.3.jar:1.2.3]
    at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) [shiro-core-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) [shiro-web-1.2.3.jar:1.2.3]
    at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.3.jar:1.2.3]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) [guice-servlet-3.1.10.jar:3.1.10]
    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-3.1.10.jar:3.1.10]
    at org.sonatype.nexus.web.internal.NexusGuiceFilter$MultiFilterChain.doFilter(NexusGuiceFilter.java:82) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:89) [guice-servlet-3.1.10.jar:3.1.10]
    at com.sonatype.nexus.licensing.internal.LicensingRedirectFilter.doFilter(LicensingRedirectFilter.java:135) [nexus-licensing-plugin-2.13.0-01/:na]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) [guice-servlet-3.1.10.jar:3.1.10]
    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-3.1.10.jar:3.1.10]
    at org.sonatype.nexus.web.internal.NexusGuiceFilter$MultiFilterChain.doFilter(NexusGuiceFilter.java:82) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:89) [guice-servlet-3.1.10.jar:3.1.10]
    at com.yammer.metrics.web.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:76) [metrics-web-2.2.0.jar:na]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) [guice-servlet-3.1.10.jar:3.1.10]
    at org.sonatype.nexus.web.internal.CommonHeadersFilter.doFilter(CommonHeadersFilter.java:69) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) [guice-servlet-3.1.10.jar:3.1.10]
    at org.sonatype.nexus.web.internal.ErrorPageFilter.doFilter(ErrorPageFilter.java:71) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) [guice-servlet-3.1.10.jar:3.1.10]
    at org.sonatype.nexus.web.internal.BaseUrlHolderFilter.doFilter(BaseUrlHolderFilter.java:66) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) [guice-servlet-3.1.10.jar:3.1.10]
    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-3.1.10.jar:3.1.10]
    at org.sonatype.nexus.web.internal.NexusGuiceFilter$MultiFilterChain.doFilter(NexusGuiceFilter.java:82) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.web.internal.NexusGuiceFilter$MultiFilterPipeline.dispatch(NexusGuiceFilter.java:56) [nexus-core-2.13.0-01.jar:2.13.0-01]
    at com.google.inject.servlet.GuiceFilter.call(GuiceFilter.java:132) [guice-servlet-3.1.10.jar:3.1.10]
    at com.google.inject.servlet.GuiceFilter.call(GuiceFilter.java:129) [guice-servlet-3.1.10.jar:3.1.10]
    at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:206) [guice-servlet-3.1.10.jar:3.1.10]
    at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:129) [guice-servlet-3.1.10.jar:3.1.10]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1476) [jetty-servlet-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501) [jetty-servlet-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) [jetty-security-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429) [jetty-servlet-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
    at com.yammer.metrics.jetty.InstrumentedHandler.handle(InstrumentedHandler.java:200) [metrics-jetty-2.2.0.jar:na]
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.server.Server.handle(Server.java:370) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) [jetty-http-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) [jetty-http-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) [jetty-server-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696) [jetty-io-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:53) [jetty-io-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) [jetty-util-8.1.16.v20140903.jar:8.1.16.v20140903]
    at org.eclipse.jetty.util.thread.QueuedThreadPool.run(QueuedThreadPool.java:543) [jetty-util-8.1.16.v20140903.jar:8.1.16.v20140903]
    at java.lang.Thread.run(Unknown Source) [na:1.8.0_65]
Caused by: org.sonatype.nexus.proxy.RemoteStorageEOFException: Premature end of Content-Length delimited message body (expected: 1878402; received: 6936
    at org.sonatype.nexus.proxy.storage.remote.httpclient.Hc4InputStream.read(Hc4InputStream.java:72) ~[nexus-core-2.13.0-01.jar:2.13.0-01]
    at java.security.DigestInputStream.read(Unknown Source) ~[na:1.8.0_65]
    at org.sonatype.nexus.proxy.item.ChecksummingContentLocator$DigestCalculatingInputStream.read(ChecksummingContentLocator.java:93) ~[nexus-core-2.13.0-01.jar:2.13.0-01]
    at java.security.DigestInputStream.read(Unknown Source) ~[na:1.8.0_65]
    at org.sonatype.nexus.proxy.item.ChecksummingContentLocator$DigestCalculatingInputStream.read(ChecksummingContentLocator.java:93) ~[nexus-core-2.13.0-01.jar:2.13.0-01]
    at java.io.BufferedInputStream.fill(Unknown Source) ~[na:1.8.0_65]
    at java.io.BufferedInputStream.read1(Unknown Source) ~[na:1.8.0_65]
    at java.io.BufferedInputStream.read(Unknown Source) ~[na:1.8.0_65]
    at java.io.FilterInputStream.read(Unknown Source) ~[na:1.8.0_65]
    at org.sonatype.nexus.util.io.StreamSupport.copy(StreamSupport.java:54) ~[nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.storage.local.fs.DefaultFSPeer.storeItem(DefaultFSPeer.java:133) ~[nexus-core-2.13.0-01.jar:2.13.0-01]
    ... 109 common frames omitted
Caused by: org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body (expected: 1878402; received: 6936
    at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:180) ~[httpcore-4.3.3.jar:4.3.3]
    at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:137) ~[httpclient-4.3.6.jar:4.3.6]
    at org.sonatype.nexus.util.WrappingInputStream.read(WrappingInputStream.java:57) ~[nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.storage.remote.httpclient.InterruptableInputStream.read(InterruptableInputStream.java:74) ~[nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.util.WrappingInputStream.read(WrappingInputStream.java:57) ~[nexus-core-2.13.0-01.jar:2.13.0-01]
    at org.sonatype.nexus.proxy.storage.remote.httpclient.Hc4InputStream.read(Hc4InputStream.java:69) ~[nexus-core-2.13.0-01.jar:2.13.0-01]
    ... 119 common frames omitted

有什么想法吗?

Nexus 要求提供长度为 1878402 的 jar 文件,但出站 GET 请求返回的内容要小得多:

Caused by: org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body (expected: 1878402; received: 6936

一个可能的原因是您的公司防火墙阻止了访问,并且返回了一个错误文件而不是请求的 jar nexus。

今天发现2.1.5版本可用了。使用该版本没有问题。所以使用最新版本解决了我的问题。