Dav*_*Far 11 nexus gradle maven build.gradle
我正在尝试com.bar.baz:mapping:0.0.1-SNAPSHOT
使用Gradle从Nexus服务器复制最新的jar文件()。
使用以下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 "."
}
Run Code Online (Sandbox Code Playgroud)
但是我想下载最新0.0.1-SNAPSHOT
版本,而不是特定0.0.1-20190508.085532-7
版本。那可能吗?怎么样?
使用version "latest.integration"
而不是"0.0.1-20190508.085532-7"
(并调用gradle copyTask --refresh-dependencies --stacktrace
)会产生:
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)
…
Run Code Online (Sandbox Code Playgroud)
更新:
使用version "0.0.1-SNAPSHOT"
而不是"0.0.1-20190508.085532-7"
(并调用gradle copyTask --refresh-dependencies --stacktrace
)会产生几乎相同的错误,唯一的区别是:
第2行改为:
找不到com.bar.baz:mapping:0.0.1-SNAPSHOT。
找不到位置 https://nexus.cluster.foo.cloud/repository/maven-snapshots/com/ba/baz/mapping/maven-metadata.xml
使用version "0.0.1"
而不是"0.0.1-20190508.085532-7"
(并调用gradle copyTask --refresh-dependencies --stacktrace
)会产生:
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)
...
Run Code Online (Sandbox Code Playgroud)
另一个更新:
使用以下pom.xml从nexus服务器使用maven复制最新的jar文件可以正常工作:
<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>
Run Code Online (Sandbox Code Playgroud)
另一个更新:切换到Gradle 5.4.1,我得到了一些不同的堆栈跟踪:
对于版本latest.integration
:
- 异常是:org.gradle.api.tasks.TaskExecutionException:任务':copyTask'的执行失败。在org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter $ 1.executeTask(EventFiringTaskExecuter.java:73)在org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:38)在org.org。在org.gradle的gradle.api.internal.tasks.execution.EventFiringTaskExecuter $ 1.call(EventFiringTaskExecuter.java:52)在org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter $ 1.call(EventFiringTaskExecuter.java:49)在org.gradle。 org.gradle.internal.operations.DefaultBuildOperationExecutor $ CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.DefaultBuildOperationExecutor.java:416)的internal.operations.DefaultBuildOperationExecutor $ CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)202),位于org.gradle.execution.plan.DefaultPlanExecutor $ ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193),位于org.gradle.execution.plan.DefaultPlanExecutor $ ExecutorWorker.run(DefaultPlanExecutor.java:129),位于org.gradle.internal org.gradle.internal.concurrent.ManagedExecutorImpl $ 1.run(ManagedExecutorImpl.java:46)上的.concurrent.ExecutorPolicy $ CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)在org.gradle.internal.concurrent.ThreadFactoryImpl $ ManagedThreadRunnable。 ThreadFactoryImpl.java:55)由以下原因引起:org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration $ ArtifactResolveException:无法解析配置':copyConf'的所有文件。在org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.rethrowFailure(DefaultConfiguration.java:org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:95)的FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)在org.gradle.api.internal.tasks.executionNo.SkipTask在org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)处的SkipTaskWithNoActionsExecuter.java:57)在org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter。 36)... 24更多原因:org.gradle.internal.resolve.ModuleVersionNotFoundException:找不到com.bar.baz:mapping:latest.integration的任何匹配项,因为没有可用的com.bar.baz:mapping版本。 。在以下位置搜索:在org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(Execute.FinalizePropertiesTaskExecuter.java:46)在org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:95)在org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute( java:57)位于org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)位于org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) ... 24更多原因:org.gradle.internal.resolve.ModuleVersionNotFoundException:找不到com.bar.baz:mapping:latest.integration的任何匹配项,因为没有可用的com.bar.baz:mapping版本。在以下位置搜索:在org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(Execute.FinalizePropertiesTaskExecuter.java:46)在org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:95)在org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute( java:57)位于org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)位于org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) ... 24更多原因:org.gradle.internal.resolve.ModuleVersionNotFoundException:找不到com.bar.baz:mapping:latest.integration的任何匹配项,因为没有可用的com.bar.baz:mapping版本。在以下位置搜索:org.gradle.api.internal.task上的task.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:95)位于org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)处的SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)... 24以上原因:org.gradle.internal.resolve.ModuleVersionNotFoundException :找不到com.bar.baz:mapping:latest.integration的任何匹配项,因为没有可用的com.bar.baz:mapping版本。在以下位置搜索:org.gradle.api.internal.task上的task.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:95)位于org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)处的SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)... 24以上原因:org.gradle.internal.resolve.ModuleVersionNotFoundException :找不到com.bar.baz:mapping:latest.integration的任何匹配项,因为没有可用的com.bar.baz:mapping版本。在以下位置搜索:在org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)处执行org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) execute(CatchExceptionTaskExecuter.java:36)...还有24个原因:org.gradle.internal.resolve.ModuleVersionNotFoundException:找不到com.bar.baz:mapping:latest.integration的任何匹配项,因为没有com.bar版本.baz:可用映射。在以下位置搜索:在org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)处执行org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) execute(CatchExceptionTaskExecuter.java:36)...还有24个原因:org.gradle.internal.resolve.ModuleVersionNotFoundException:找不到com.bar.baz:mapping:latest.integration的任何匹配项,因为没有com.bar版本.baz:可用映射。在以下位置搜索:execute(CatchExceptionTaskExecuter.java:36)...还有24个原因:org.gradle.internal.resolve.ModuleVersionNotFoundException:找不到com.bar.baz:mapping:latest.integration的任何匹配项,因为没有com.bar版本.baz:可用映射。在以下位置搜索:execute(CatchExceptionTaskExecuter.java:36)...还有24个原因:org.gradle.internal.resolve.ModuleVersionNotFoundException:找不到com.bar.baz:mapping:latest.integration的任何匹配项,因为没有com.bar版本.baz:可用映射。在以下位置搜索:
- 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 项目必填:项目:
对于版本0.0.1-SNAPSHOT
:
- 异常是:org.gradle.api.tasks.TaskExecutionException:任务':copyTask'的执行失败。在org.org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:38)在org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter $ 1.executeTask(EventFiringTaskExecuter.java:73)在org。在org.gradle的gradle.api.internal.tasks.execution.EventFiringTaskExecuter $ 1.call(EventFiringTaskExecuter.java:52)在org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter $ 1.call(EventFiringTaskExecuter.java:49)在org.gradle。位于org.gradle.internal.operations.DefaultBuildOperationExecutor $ CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:的internal.operations.DefaultBuildOperationExecutor $ CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)org.gradle.execution.plan.DefaultPlanExecutor $ ExecutorWorker.run(DefaultPlanExecutor.java:129)上的execute.plan.DefaultPlanExecutor $ ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193)org.gradle.internal.concurrent.ExecutorPolicy $ CatchAndRecordFailures。在org.gradle.internal.concurrent.ThreadFactoryImpl $ ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)上的org.gradle.internal.concurrent.ManagedExecutorImpl $ 1.run(ManagedExecutorImpl.java:46)上的onExecute(ExecutorPolicy.java:63)创建人:org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration $ ArtifactResolveException:无法解析配置':copyConf'的所有文件。在org.gradle.api.internal.artifacts的org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.rethrowFailure(DefaultConfiguration.java:1195)处。46)在org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)在org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:95) .gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)... 24个以上的原因创建人:org.gradle.internal.resolve.ModuleVersionNotFoundException:找不到com.bar.baz:mapping:0.0.1-SNAPSHOT。在以下位置搜索:在org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)处SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)在org.gradle.api.internal.tasks.execution.CatchExceptionTask处CatchExceptionTaskExecuter.java:36)...还有24个原因:org.gradle.internal.resolve.ModuleVersionNotFoundException:找不到com.bar.baz:mapping:0.0.1-SNAPSHOT。在以下位置搜索:在org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)处SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)在org.gradle.api.internal.tasks.execution.CatchExceptionTask处CatchExceptionTaskExecuter.java:36)...还有24个原因:org.gradle.internal.resolve.ModuleVersionNotFoundException:找不到com.bar.baz:mapping:0.0.1-SNAPSHOT。在以下位置搜索:ModuleVersionNotFoundException:找不到com.bar.baz:mapping:0.0.1-SNAPSHOT。在以下位置搜索:ModuleVersionNotFoundException:找不到com.bar.baz:mapping:0.0.1-SNAPSHOT。在以下位置搜索:
- 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 项目必填:项目:
对于版本0.0.1
:
- 异常是:org.gradle.api.tasks.TaskExecutionException:任务':copyTask'的执行失败。在org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:38)...... org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) ... 24更多原因:org.gradle.internal.resolve.ModuleVersionResolveException:无法解析com.bar.baz:mapping:0.0.1。必需:项目:引起原因:org.gradle.internal.resolve.ModuleVersionResolveException:无法解析com.bar.baz:mapping:0.0.1。造成原因:org.gradle.api.resources.ResourceException:无法获取资源' https://nexus.cluster.regulator.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1/mapping- 0.0.1。磅'。在org.gradle.internal.resource.ResourceExceptions.failure(ResourceExceptions.java:74)
.... org.gradle.internal.concurrent.ThreadFactoryImpl $ ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)原因:org.gradle。 internal.resource.transport.http.HttpErrorStatusCodeException:无法获取' https://nexus.cluster.regulator.cloud/repository/maven-snapshots/com/bar/baz/mapping/0.0.1/mapping-0.0.1。绒球'。从服务器接收到状态代码400:org.gradle.internal.concurrent.ThreadFactoryImpl $ ManagedThreadRunnable.run(org.gradle.internal.
看起来你正在得到
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
Run Code Online (Sandbox Code Playgroud)
鉴于此,最可能的解释是存储库的配置错误。检查为 Maven 设置的身份验证类型,或者检查您的内部组织在接受与 Nexus 实例的连接之前是否有其他检查。
maven-metadata.xml
很明显,Nexus 中的文件与 Gradle 解析的文件不匹配。
从代码中可以看出:
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());
}
Run Code Online (Sandbox Code Playgroud)
Gradle 只查看节点snapshot
而不查看snapshotVersions
节点。
那里有两个选择:
maven-metadata.xml
不一致问题。 归档时间: |
|
查看次数: |
217 次 |
最近记录: |