Я пытаюсь развернуть один EXE-файл, и он заархивировал исходный файл в Sonatype Nexus с помощью командной строки maven.Файлы должны быть развернуты как SNAPSHOT.
Итак, у меня есть 2 файла:
-testXYZ.exe and source file
-testXYZ.zip
Используя maven 2.2.1 и команду, описанную здесь:
mvn deploy:deploy-file -Durl=file:///home/me/m2-repo \
-DrepositoryId=some.repo.id \
-Dfile=./path/to/artifact-name-1.0.jar \
-DpomFile=./path/to/pom.xml \
-Dsources=./path/to/artifact-name-1.0-sources.jar \
-Djavadoc=./path/to/artifact-name-1.0-javadoc.jar
Я могуразвернуть EXE, но не может развернуть исходный код, потому что maven 2.2.1 использует deploy-plugin v2.5, и эта команда не поддерживается до v2.7.Мне не разрешено использовать более новые версии maven, поэтому я пробую другой подход.
Используя эти две последующие команды, я могу развернуть эти два артефакта, но источник не может быть загружен с Nexus.
call mvn deploy:deploy-file -DgroupId=com.xyz -DartifactId=testXYZ -Dversion=1.1.116-SNAPSHOT -Dpackaging=zip -Dfile=testXYZ.zip -Dclassifier=sources -Durl=http://build:8081/nexus/content/repositories/snapshots -DrepositoryId=nexus
call mvn deploy:deploy-file -DgroupId=com.xyz -DartifactId=testXYZ -Dversion=1.1.116-SNAPSHOT -Dpackaging=exe -Dfile=testXYZ.exe -Durl=http://build:8081/nexus/content/repositories/snapshots -DrepositoryId=nexus
После развертывания я ищу testXYZ и нажимаю на ссылку для скачивания источника артефакта.Nexus говорит:
«Элемент не найден по пути» com.xyz:testXYZ:1.1.116-SNAPSHOT:c=sources:e=jar"!"
Проблема в том, как maven загружает эти артефакты:
Line form log file while source is uploading:
Uploaded: http://build:8081/nexus/content/repositories/snapshots/com/xyz/testXYZ/1.1.116-SNAPSHOT/testXYZ-1.1.116-20120106.111705-1-sources.zip
Line form log file while Main artifact is uploading:
Uploaded: http://build:8081/nexus/content/repositories/snapshots/com/xyz/testXYZ/1.1.116-SNAPSHOT/testXYZ-1.1.116-20120106.111709-2.exe
Уведомление 111705-1 и 111705-2.Последнее число должно быть таким же, если мы хотим, чтобы Nexus мог генерировать правильные ссылки.
Этот подход описан здесь:
Развертывание артефакта, его источников и javadoc с использованием команды maven deploy: deploy-плагин файла
и здесь:
http://maven.apache.org/plugins/maven-install-plugin/examples/installing-secondary-artifacts.html
и он работает для фиксированных версий (например, 1.1.116) , ноне для SNAPSHOT.
Exe и Zip файлы могут быть развернуты на Nexus (например, файлы JAR), если используется фиксированная версия.
Итак, вопрос: Есть лиспособ развертывания артефактов и исходных SNAPSHOT из командной строки в Sonatype Nexus и чтобы быть уверенным, что эти файлы можно загрузить, щелкнув ссылки на источники и артефакты?
Примечание. Если я отключу суффикс меток времени, это может сработать,но я не хочу этого делать.
-DuniqueVersion=false
Спасибо,
Марьян