Я пытаюсь сделать Gradle uploadArtifacts, чтобы загрузить на мой связующей сервер и он работает, когда мой build.gradle является:Gradle uploadArtifacts Сбой при определении групповой собственности
apply plugin: 'java'
version = "1.0"
uploadArchives {
repositories { ivy { url "http://<server>/nexus/content/repositories/snapshots" } }
}
Однако, если указать группу загружать, например если я изменю свое build.gradle к:
apply plugin: 'java'
group = "test" // <-- addition of group property
version = "1.0"
uploadArchives {
repositories { ivy { url "http://<server>/nexus/content/repositories/snapshots" } }
}
он не говорил:
Execution failed for task ':uploadArchives'.
> Could not publish configuration 'archives'
> java.io.IOException: Could not PUT 'http://<server>/nexus/content/repositories/snapshots/test/test-project/1.0/test-project-1.0.jar'. Received status code 400 from server: Bad Request
Если я бегу с --debug исключение, которое я получаю:
Caused by: java.io.IOException: Could not PUT 'http://<server>/nexus/content/repositories/snapshots/test/test-project/1.0/test-project-1.0.jar'. Received status code 400 from server: Bad Request
Я подумал, что может возникнуть проблема с созданием каталогов на сервере, поскольку это новый артефакт, но даже если я вручную создаю test/test-project/1.0, загрузка все равно не удалась. (Это не сработает без идентификатора группы, хотя это заставляет меня думать, что это не проблема связи).
My Setup является:
Gradle 1,5 Gradle времени сборки: Среда, 27 марта 2013 1:51:06 PM UTC Groovy: 1.8.6 Ant: Apache Ant (TM) версия 1.8.4 составлен на 22 мая 2012 Ivy: 2.2.0 JVM: 1.6.0_43 (Apple Inc. 20,14-b01-447) ОС: Mac OS X 10.7.5 x86_64
и
Sonatype Nexus ™ 2,3 .0-04
Кто-нибудь видел это раньше или знал, что я могу делать неправильно?
спасибо.
хм .. вы на что-то. если я изменю версию до 1.0-SNAPSHOT, она будет загружена с идентификатором группы. это действительно сбивает с толку. поэтому с идентификатором группы я могу загружать только версию 1.0-SNAPSHOT и без идентификатора группы я могу загрузить 1.0-SNAPSHOT или 1.0. подскажите, почему это было бы? – dev
Я предполагаю, что если вы опустите идентификатор группы, вы обойдете проверки в Nexus, которые отклонят ваш артефакт на основе политики репозитория, потому что ни один идентификатор группы недействителен для артефактов maven («groupId однозначно идентифицирует ваш проект во всех проектах ", http://maven.apache.org/guides/mini/guide-naming-conventions.html или" groupId: Это, как правило, уникально среди организации или проекта. ", http://maven.apache.org /pom.html#Maven_Coordinates) – nabcos
спасибо! что объясняет это достаточно для меня. теперь, чтобы узнать больше о градиенте. :) – dev