Я схожу с ума здесь. Я просто пытаюсь загрузить jar на сервер Nexus, используя Maven Ant Task, но когда я запускаю файл build. xml, используя ant, я получаю следующую ошибку
Deploying to http://nexus.xxxx.co.uk:8081/repository/maven-snapshots/
[INFO] Retrieving previous build number from snapshot
Uploading: com/xxx/xxx-yyy-zzz/3.0.0-SNAPSHOT/xxx-yyy-zzz-3.0.0-SNAPSHOT.jar to repository snapshot at http://nexus.xxxxx.co.uk:8081/repository/maven-snapshots/
Transferring 1091K from snapshot
Error writing to server
An error has occurred while processing the Maven artifact tasks.
Diagnosis:
Error deploying artifact 'com.xxx-yyy-zzz': Error deploying artifact: Error transferring file
Error writing to server
Это то, что моя сборка. xml файл выглядит как
<project name="deploy" default="mvn-deploy" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
<path id="maven-ant-tasks.classpath" path="lib/maven-ant-tasks-2.1.3.jar"/>
<typedef resource="org/apache/maven/artifact/ant/antlib.xml"
uri="antlib:org.apache.maven.artifact.ant"
classpathref="maven-ant-tasks.classpath"/>
<artifact:remoteRepository id="snapshot" url="http://nexus.xxxx.co.uk:8081/repository/maven-snapshots/">
<releases enabled="false"/>
<snapshots enabled="true"/>
</artifact:remoteRepository>
<target name="mvn-deploy">
<artifact:deploy file="/path/to/jar/xxx-yyy-zzz-3.0.0-SNAPSHOT.jar"
uniqueVersion="false">
<remoteRepository refid="snapshot">
<authentication username="username" password="password"/>
</remoteRepository>
<pom file="/path/to/pom/pom.xml"/>
</artifact:deploy>
</target>
</project>
Я думаю, что я прочитал каждый пост в блоге / публикацию stackoverflow, страницу документации ant и до сих пор не могу понять, почему это не работает.
На Nexus сервер это то, что показывают журналы (request.log)
77.101.44.67 - - [16/Apr/2020:12:08:03 +0000] "PUT /repository/maven-snapshots/com/xxx/xxx-yyy-zzz/3.0.0-SNAPSHOT/xxx-yyy-zzz-3.0.0-20200416.120803-3.jar HTTP/1.1" 401 1117368 0 1 "maven-artifact/2.2.1 (Java 1.8.0_31; Mac OS X 10.13.6)" [qtp615812221-41545]
77.101.44.67 - - [16/Apr/2020:12:08:03 +0000] "PUT /repository/maven-snapshots/com/xxx/xxx-yyy-zzz/3.0.0-SNAPSHOT/xxx-yyy-zzz-3.0.0-20200416.120803-3.jar HTTP/1.1" 401 1117368 0 1 "maven-artifact/2.2.1 (Java 1.8.0_31; Mac OS X 10.13.6)" [qtp615812221-41531]
Итак, как вы можете видеть из журналов, я получаю код ответа 401 HTTP, что означает «Не авторизован». Также в третьем параметре в строках журнала выше должно отображаться имя пользователя, поэтому этот вид склоняется к тому, что ant не передает имя пользователя и пароль при загрузке файла, и вызывает сбой, поскольку для загрузки файла необходимы учетные данные.
По умолчанию это не проблема конфигурации Nexus или проблема с разрешениями пользователей Nexus, потому что, если я использую maven и запускаю
mvn deploy
С той же самой информацией он загружает банку без проблем
Любое предложение будет очень признателен, прежде чем у меня не осталось волос ...