Элемент репозитория не был указан в POM внутри элемента распределения управления или в параметре -DaltDep loymentRepository = id:: layout:: url
У меня проблема при развертывании, и вот сообщение об ошибке, которое я получаю:
[INFO]
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ core ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.296 s
[INFO] Finished at: 2014-11-26T17:05:00+02:00
[INFO] Final Memory: 13M/244M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:
deploy (default-deploy) on project core: Deployment failed: repository element w
as not specified in the POM inside distributionManagement element or in -DaltDep
loymentRepository=id::layout::url parameter -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionE
xception
Я проверил некоторые ресурсы в Интернете, и никто из них не работал для моего дела. Я думаю, что это связано с моим pom.xml. Вот связанные части pom.xml:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>repository.springframework.maven.release</id>
<name>Spring Framework Maven Release Repository</name>
<url>http://maven.springframework.org/release</url>
</repository>
<repository>
<id>Appid</id>
<name>AppName</name>
<url>http://IPaddress/nexus/content/repositories/Myapps/</url>
</repository>
</repositories>
Как вы думаете, может быть проблема?
Спасибо заранее.
Ответы
Ответ 1
Вы должны включить репозиторий, где вы хотите развернуть в разделе управления распределением 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">
...
<distributionManagement>
<repository>
<uniqueVersion>false</uniqueVersion>
<id>corp1</id>
<name>Corporate Repository</name>
<url>scp://repo/maven2</url>
<layout>default</layout>
</repository>
...
</distributionManagement>
...
</project>
См. Управление распределением
Ответ 2
В вашем pom.xml вы должны добавить конфигурацию distributionManagement для развертывания.
В следующем примере я использовал файловую систему в качестве местоположений.
<distributionManagement>
<repository>
<id>internal.repo</id>
<name>Internal repo</name>
<url>file:///home/thara/testesb/in</url>
</repository>
</distributionManagement>
вы можете добавить другое место во время развертывания, используя следующую команду (но чтобы избежать превышения ошибки, вы должны иметь как минимум 1 репозиторий):
mvn deploy -DaltDeploymentRepository=internal.repo::default::file:///home/thara/testesb/in
Ответ 3
Проблема устраняется добавлением URL-адреса репозитория на вкладке distributionManagement в главном pom.xml.
Цель Jenkin maven: очистить развертывание -U -Dmaven.test.skip = true
<distributionManagement>
<repository>
<id>releases</id>
<url>http://domain:port/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://domain:port/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>