I am trying to copy the newest jar file (com.bar.baz:mapping:0.0.1-SNAPSHOT
) from my Nexus server using Gradle.
Downloading a specific version works using the following build.gradle:
apply plugin: "java"
repositories {
maven {
credentials {
username = "${mavenUser}"
password = "${mavenPassword}"
}
url "https://nexus.cluster.foo.cloud/repository/maven-snapshots"
authentication {
basic(BasicAuthentication)
}
}
}
configurations {
copyConf
}
dependencies {
copyConf group: "com.bar.baz", name: "mapping", version: "0.0.1-20190508.085532-7"
}
task copyTask(type: Copy) {
from configurations.copyConf
into "."
}
But I want to download the newest 0.0.1-SNAPSHOT
version, not the specific 0.0.1-20190508.085532-7
version. Is that possible? How?
Using version "latest.integration"
instead of "0.0.1-20190508.085532-7"
(and calling gradle copyTask --refresh-dependencies --stacktrace
) yields:
FAILURE: Build failed with an exception.
* What went wrong: Could not resolve all files for configuration ':copyConf'.
> Could not find any matches for com.bar.baz:mapping:latest.integration as no versions
of com.bar.baz:mapping are available. Searched in
the following locations:
https://nexus.cluster.foo.cloud/repository/maven-snapshots/com/ba/baz/mapping/maven-metadata.xml
https://nexus.cluster.foo.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1-SNAPSHOT/maven-metadata.xml
https://nexus.cluster.foo.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1-SNAPSHOT/mapping-0.0.1-20190508.085534-8.pom
https://nexus.cluster.foo.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1-SNAPSHOT/mapping-0.0.1-20190508.085534-8.jar
Required by:
project :
* Try: Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Exception is: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException:
Could not resolve all files for configuration ':copyConf'.
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.rethrowFailure(DefaultConfiguration.java:918)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$1600(DefaultConfiguration.java:116)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getFiles(DefaultConfiguration.java:892)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getFiles(DefaultConfiguration.java:404)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getFiles(Unknown
Source)
at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext$FileTreeConverter.convertInto(DefaultFileCollectionResolveContext.java:206)
at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:116)
…
Update:
Using version "0.0.1-SNAPSHOT"
instead of "0.0.1-20190508.085532-7"
(and calling gradle copyTask --refresh-dependencies --stacktrace
) yields almost the same error, the only diff is:
Line 2 is instead:
Could not find com.bar.baz:mapping:0.0.1-SNAPSHOT.
No search in location https://nexus.cluster.foo.cloud/repository/maven-snapshots/com/ba/baz/mapping/maven-metadata.xml
Using version "0.0.1"
instead of "0.0.1-20190508.085532-7"
(and calling gradle copyTask --refresh-dependencies --stacktrace
) yields:
FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all files for configuration ':copyConf'.
> Could not resolve com.bar.baz:mapping:0.0.1.
Required by:
project :
> Could not resolve com.bar.baz:mapping:0.0.1.
> Could not get resource 'https://nexus.cluster.regulator.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1/mapping-0.0.1.pom'.
> Could not GET 'https://nexus.cluster.regulator.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1/mapping-0.0.1.pom'. Received status code 400 from server: Bad Request
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Exception is:
org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':copyConf'.
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.rethrowFailure(DefaultConfiguration.java:918)
...
Another update:
Copying the newest jar file from nexus server with maven does work, with the following pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.bar.baz</groupId>
<artifactId>TAndMapping</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>${project.artifactId}</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mapping>mapping</mapping>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy</goal>
</goals>
</execution>
</executions>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.bar.baz</groupId>
<artifactId>${mapping}</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>jar</type>
<overWrite>true</overWrite>
<destFileName>${mapping}.jar</destFileName>
</artifactItem>
</artifactItems>
<overWriteSnapshots>true</overWriteSnapshots>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>nexus-snapshots</id>
<name>Snapshot</name>
<url>https://nexus.cluster.regulator.cloud/repository/maven-snapshots/</url>
</repository>
</repositories>
</project>
Another update: Switching to Gradle 5.4.1, I get a bit different stacktraces:
For version latest.integration
:
- Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':copyTask'. at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:38) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:73) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:49) at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416) at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406) at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102) at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:49) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:43) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:355) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:134) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:129) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:202) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':copyConf'. at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.rethrowFailure(DefaultConfiguration.java:1195) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$2100(DefaultConfiguration.java:138) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getFiles(DefaultConfiguration.java:1170) at org.gradle.api.internal.file.AbstractFileCollection.iterator(AbstractFileCollection.java:72) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.iterator(DefaultConfiguration.java:467) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext$FileTreeConverter.convertInto(DefaultFileCollectionResolveContext.java:209) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:114) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveAsFileTrees(DefaultFileCollectionResolveContext.java:85) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext$FileTreeConverter.convertInto(DefaultFileCollectionResolveContext.java:195) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:109) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveAsFileTrees(DefaultFileCollectionResolveContext.java:85) at org.gradle.api.internal.file.CompositeFileCollection$1.visitContents(CompositeFileCollection.java:130) at org.gradle.api.internal.file.CompositeFileTree$FilteredFileTree.visitContents(CompositeFileTree.java:120) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveNested(DefaultFileCollectionResolveContext.java:144) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:112) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveAsFileCollections(DefaultFileCollectionResolveContext.java:92) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext$FileCollectionConverter.convertInto(DefaultFileCollectionResolveContext.java:164) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:109) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveAsFileCollections(DefaultFileCollectionResolveContext.java:92) at org.gradle.api.internal.file.CompositeFileCollection.getSourceCollections(CompositeFileCollection.java:192) at org.gradle.api.internal.file.CompositeFileCollection.isEmpty(CompositeFileCollection.java:98) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:67) at org.gradle.api.internal.tasks.execution.ResolveBeforeExecutionOutputsTaskExecuter.execute(ResolveBeforeExecutionOutputsTaskExecuter.java:67) at org.gradle.api.internal.tasks.execution.ResolveAfterPreviousExecutionStateTaskExecuter.execute(ResolveAfterPreviousExecutionStateTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:94) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:95) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) ... 24 more Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find any matches for com.bar.baz:mapping:latest.integration as no versions of com.bar.baz:mapping are available. Searched in the following locations:
- https://nexus.cluster.regulator.cloud/repository/maven-snapshots/com/bar/baz/mapping/maven-metadata.xml
- https://nexus.cluster.regulator.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1-SNAPSHOT/maven-metadata.xml
- https://nexus.cluster.regulator.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1-SNAPSHOT/mapping-0.0.1-20190510.001602-2.pom
- https://nexus.cluster.regulator.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1-SNAPSHOT/mapping-0.0.1-20190510.001602-2.jar Required by: project :
For version 0.0.1-SNAPSHOT
:
- Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':copyTask'. at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:38) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:73) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:49) at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416) at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406) at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102) at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:49) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:43) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:355) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:134) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:129) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:202) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':copyConf'. at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.rethrowFailure(DefaultConfiguration.java:1195) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$2100(DefaultConfiguration.java:138) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getFiles(DefaultConfiguration.java:1170) at org.gradle.api.internal.file.AbstractFileCollection.iterator(AbstractFileCollection.java:72) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.iterator(DefaultConfiguration.java:467) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext$FileTreeConverter.convertInto(DefaultFileCollectionResolveContext.java:209) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:114) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveAsFileTrees(DefaultFileCollectionResolveContext.java:85) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext$FileTreeConverter.convertInto(DefaultFileCollectionResolveContext.java:195) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:109) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveAsFileTrees(DefaultFileCollectionResolveContext.java:85) at org.gradle.api.internal.file.CompositeFileCollection$1.visitContents(CompositeFileCollection.java:130) at org.gradle.api.internal.file.CompositeFileTree$FilteredFileTree.visitContents(CompositeFileTree.java:120) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveNested(DefaultFileCollectionResolveContext.java:144) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:112) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveAsFileCollections(DefaultFileCollectionResolveContext.java:92) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext$FileCollectionConverter.convertInto(DefaultFileCollectionResolveContext.java:164) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:109) at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveAsFileCollections(DefaultFileCollectionResolveContext.java:92) at org.gradle.api.internal.file.CompositeFileCollection.getSourceCollections(CompositeFileCollection.java:192) at org.gradle.api.internal.file.CompositeFileCollection.isEmpty(CompositeFileCollection.java:98) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:67) at org.gradle.api.internal.tasks.execution.ResolveBeforeExecutionOutputsTaskExecuter.execute(ResolveBeforeExecutionOutputsTaskExecuter.java:67) at org.gradle.api.internal.tasks.execution.ResolveAfterPreviousExecutionStateTaskExecuter.execute(ResolveAfterPreviousExecutionStateTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:94) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:95) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) ... 24 more Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find com.bar.baz:mapping:0.0.1-SNAPSHOT. Searched in the following locations:
- https://nexus.cluster.regulator.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1-SNAPSHOT/maven-metadata.xml
- https://nexus.cluster.regulator.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1-SNAPSHOT/mapping-0.0.1-20190510.001602-2.pom
- https://nexus.cluster.regulator.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1-SNAPSHOT/mapping-0.0.1-20190510.001602-2.jar Required by: project :
For version 0.0.1
:
- Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':copyTask'. at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:38) ..... org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) ... 24 more Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve com.bar.baz:mapping:0.0.1. Required by: project : Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve com.bar.baz:mapping:0.0.1. Caused by: org.gradle.api.resources.ResourceException: Could not get resource 'https://nexus.cluster.regulator.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1/mapping-0.0.1.pom'. at org.gradle.internal.resource.ResourceExceptions.failure(ResourceExceptions.java:74)
.... org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) Caused by: org.gradle.internal.resource.transport.http.HttpErrorStatusCodeException: Could not GET 'https://nexus.cluster.regulator.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1/mapping-0.0.1.pom'. Received status code 400 from server: Bad Request at org.gradle.internal.resource.transport.http.HttpClientHelper.processResponse(HttpClientHelper.java:160) at ... org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':copyConf'. ... org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) ... 24 more Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve com.bar.baz:mapping:0.0.1. Required by: project : Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve com.bar.baz:mapping:0.0.1. Caused by: org.gradle.api.resources.ResourceException: Could not get resource 'https://nexus.cluster.regulator.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1/mapping-0.0.1.pom'. at org.gradle.internal.resource.ResourceExceptions.failure(ResourceExceptions.java:74) ... at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.copyToCache(DefaultCacheAwareExternalResourceAccessor.java:199) ... 110 more
Another update: Due to @Louis Jacomet's answer, I looked into our Nexus server in more detail, and currently, .../com/bar/baz/mapping/0.0.1-SNAPSHOT/maven-metadata.xml
lists:
<metadata modelVersion="1.1.0">
<groupId>com.bar.baz</groupId>
<artifactId>mapping</artifactId>
<version>0.0.1-SNAPSHOT</version>
<versioning>
<snapshot>
<timestamp>20190516.163117</timestamp>
<buildNumber>2</buildNumber>
</snapshot>
<lastUpdated>20190516163117</lastUpdated>
<snapshotVersions>
<snapshotVersion>
<extension>jar</extension>
<value>0.0.1-20190516.163116-1</value>
<updated>20190516163117</updated>
</snapshotVersion>
<snapshotVersion>
<extension>pom</extension>
<value>0.0.1-20190516.163116-1</value>
<updated>20190516163117</updated>
</snapshotVersion>
</snapshotVersions>
</versioning>
</metadata>
Consequently, gradle searches in https://nexus.cluster.regulator.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1-SNAPSHOT/mapping-0.0.1-20190516.163117-2.jar
. It cannot find it, because the only version available on the Nexus server is version 0.0.1-20190516.163116-1
. I do not understand why this is the case and guess it is a Nexus bug, not a Gradle bug. However, copying via Maven (see second update with pom.xml) still finds the 0.0.1-SNAPSHOT version available on Nexus and downloads it.
Nexus has very low resource requirements, and it is something you can run on an existing workgroup collaboration machine or locally. When you upload a 3rd-party JAR to your own Nexus instance, it will immediately be integrated with Nexus search capabilities and be available to your organization's builds.
In its simplest form, creating an executable JAR with Gradle is just a matter of adding the appropriate entries to the manifest. However, it's much more common to have dependencies that need to be included on the classpath, making this approach tricky in practice.
– Sonatype Support How do I configure my Gradle build to download artifacts from Nexus? Easy, here's a sample build.gradle file that is configured to download artifacts from a local instance of Nexus running on port 8081. All you need to do is define the maven url as follows under "repositories/maven/url".
Before Gradle, we used to download the JAR file and put it in the libs folder. Now Gradle handles these things automatically for us. However, this process is still supported with Gradle for special purposes like custom JAR files. 3. Flat Directory
The basic process of copying files in Gradle is a simple one: 1 Define a task of type Copy 2 Specify which files (and potentially directories) to copy 3 Specify a destination for the copied files
Copying the newest jar file from nexus server with maven does work, with the following pom.xml:
Looks like you are getting
org.gradle.internal.resource.transport.http.HttpErrorStatusCodeException: Could not GET 'https://nexus.cluster.regulator.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1/mapping-0.0.1.pom'. Received status code 400 from server: Bad Request
Given that, the most likely explanation is that the configuration of the repository is wrong. Check the kind of authentication that is setup for Maven or check if your internal organisation has additional checks before accepting connections to the Nexus instance.
So clearly there is a mismatch between the maven-metadata.xml
file in Nexus and what Gradle parses.
As can be seen in code:
if ("metadata/versioning/snapshot/timestamp".equals(getContext())) {
mavenMetadata.timestamp = getText();
}
if ("metadata/versioning/snapshot/buildNumber".equals(getContext())) {
mavenMetadata.buildNumber = getText();
}
if ("metadata/versioning/versions/version".equals(getContext())) {
mavenMetadata.versions.add(getText().trim());
}
Gradle only looks at the snapshot
node and not the snapshotVersions
ones.
Two options from there:
maven-metadata.xml
inconsistency.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With