Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.
If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!
maven Checksum validation failed, no checksums available
-
Hi,
we have problem with maven repository, mvn is correctly downloading artifacts, but there is problem with checksums. We are getting:
org.eclipse.aether.transfer.ChecksumFailureException: Checksum validation failed, no checksums availableit seems, that it is because of this:
Caused by: org.apache.maven.wagon.TransferFailedException: transfer failed for https://proget.cross-ni.com/maven2/repo/org/apache/apache/33/apache-33.pom.md5, status: 201 CreatedMaven client expects checksums to be returned with status 200, not 201 .
Is it possible to configure this somehow, or how to deal with it?
Thanks,
Regards,
Bohdan
-
Hi @bohdan-cech_2403 ,
I'm not sure if that's the issue...
Returning a
201
has been the behavior for as long as we've had the feed (even the old version of the feed). The official Maven client does not seem to complain or cause any error in our testing, and no other user reported it as a problem.Any idea why it's happening "all of a sudden" for you? Is there a new version of Maven or something?
FYI the
PUT
uploads for hash files are ignored and a201
is always returned.Thanks,
Alana
-
we have same problem. Only reason what I could find is 201. here is maven exception stack trace in debug mode:
[DEBUG] Could not validate SHA-1 checksum for commons-codec/commons-codec/1.19.0/commons-codec-1.19.0.jar org.eclipse.aether.transfer.ChecksumFailureException: Checksum validation failed: transfer failed for https://proget-test.airbaltic.com/maven2/libs-release/commons-codec/commons-codec/1.19.0/commons-codec-1.19.0.jar.sha1, status: 201 Created at org.eclipse.aether.connector.basic.ChecksumValidator.validateExternalChecksums(ChecksumValidator.java:164) at org.eclipse.aether.connector.basic.ChecksumValidator.validate(ChecksumValidator.java:103) at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:460) at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:75) at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:628) at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:262) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:514) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:402) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:229) at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:340) at org.apache.maven.shared.transfer.dependencies.resolve.internal.Maven31DependencyResolver.resolveDependencies(Maven31DependencyResolver.java:216) at org.apache.maven.shared.transfer.dependencies.resolve.internal.Maven31DependencyResolver.resolveDependencies(Maven31DependencyResolver.java:117) at org.apache.maven.shared.transfer.dependencies.resolve.internal.DefaultDependencyResolver.resolveDependencies(DefaultDependencyResolver.java:76) at org.apache.maven.plugins.dependency.GetMojo.execute(GetMojo.java:179) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:370) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:351) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:215) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:171) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:163) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:298) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:960) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:293) at org.apache.maven.cli.MavenCli.main(MavenCli.java:196) at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.lang.reflect.Method.invoke(Method.java:580) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:283) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:226) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:407) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:348) Caused by: org.apache.maven.wagon.TransferFailedException: transfer failed for https://proget-test.airbaltic.com/maven2/libs-release/commons-codec/commons-codec/1.19.0/commons-codec-1.19.0.jar.sha1, status: 201 Created at org.apache.maven.wagon.providers.http.wagon.shared.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:1204) at org.apache.maven.wagon.providers.http.wagon.shared.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:1140) at org.apache.maven.wagon.StreamWagon.getInputStream(StreamWagon.java:126) at org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:88) at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61) at org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.run(WagonTransporter.java:546) at org.eclipse.aether.transport.wagon.WagonTransporter.execute(WagonTransporter.java:430) at org.eclipse.aether.transport.wagon.WagonTransporter.get(WagonTransporter.java:407) at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.fetchChecksum(BasicRepositoryConnector.java:424) at org.eclipse.aether.connector.basic.ChecksumValidator.validateExternalChecksums(ChecksumValidator.java:157) at org.eclipse.aether.connector.basic.ChecksumValidator.validate(ChecksumValidator.java:103) at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:460) at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:75) at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:628) at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:262) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:514) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:402) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:229) at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:340) at org.apache.maven.shared.transfer.dependencies.resolve.internal.Maven31DependencyResolver.resolveDependencies(Maven31DependencyResolver.java:216) at org.apache.maven.shared.transfer.dependencies.resolve.internal.Maven31DependencyResolver.resolveDependencies(Maven31DependencyResolver.java:117) at org.eclipse.aether.shared.transfer.dependencies.resolve.internal.DefaultDependencyResolver.resolveDependencies(DefaultDependencyResolver.java:76) at org.apache.maven.plugins.dependency.GetMojo.execute(GetMojo.java:179) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:370) at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:351) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:215) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:171) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:163) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:298) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:960) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:293) at org.apache.maven.cli.MavenCli.main(MavenCli.java:196) at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.lang.reflect.Method.invoke(Method.java:580) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:283) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:226) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:407) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:348)
curl https://proget-test.airbaltic.com/maven2/libs-release/commons-codec/commons-codec/1.19.0/commons-codec-1.19.0.jar.md5 -i HTTP/1.1 201 Created Server: nginx Date: Thu, 04 Sep 2025 07:13:17 GMT Content-Type: text/plain Content-Length: 32 Connection: keep-alive Cache-Control: private X-ProGet-Version: 25.0.9.16 X-ProGet-Edition: enterprise e46fa78c69544eb6239c4e8447e72544
-
here is maven http client source code with exact check that it expects 200 or 304
https://maven.apache.org/components/wagon-archives/wagon-3.0.0/xref/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.html#L708
-
@uli_2533 thanks for the additional info, great find in the source code too!!
On our end, I was looking at the
PUT
code, where a301
kind of made sense. I think it must have been some kind of regression on theGET
request? Not sure why it didn't get noticed before, but it's a trivial fix.PG-3108 will be in the next maintenance release (Sep 19)... or if you want to try it now, it's in
inedo/proget:25.0.10-ci.9
Docker image.Thanks,
Alana
-
@atripp thanks everything works with inedo/proget:25.0.10-ci.9