plugin - maven deploy artifactory
ConfiguraciĆ³n de resoluciĆ³n de dependencia en Artifactory (2)
Debe asegurarse de que sus repositorios virtuales se correlacionen con los repositorios reales que espera.
Por ejemplo, libs-release
generalmente se correlacionará con repositorios de versiones internas y externas. Quizás esto esté mal configurado, lo que hace que no llegue a los repositorios que desea.
En Artifactory, vaya a la página de administración y consulte Configuración> Repositorios . En la parte inferior de la página, eche un vistazo a sus repositorios virtuales. Al hacer doble clic en ellos, se mostrará lo que está incluido.
Para mí, libs-release
incluye libs-release-local
, ext-release-local
y remote-repos
. Este último es otro repositorio virtual que se asigna a todos los repositorios externos listados en mi instalación, por ejemplo, codehaus, repo1, jboss, google-code, ...
Tal vez uno de estos repositorios virtuales falta repo1
?
Recientemente comenzamos a trabajar con Artifactory. Configuramos settings.xml como Artifactory propuesto. Sin embargo, tenemos problemas para descargar archivos jar mientras ejecutamos "mvn compile", incluso si aparecen en el repositorio de Artifactory. La adición explícita de repo1-cache resuelve el problema de compilación, pero la descarga se realiza desde un repositorio remoto en lugar de hacerlo desde Artifactory.
<repository>
<id>My Repository</id>
<name>MyRepository-releases</name>
<url>http://mvn-srv:8081/artifactory/repo1</url>
</repository>
¿Qué se debe agregar a settings.xml para resolver automáticamente las dependencias y obtenerlas de artifactory en lugar de acceder a los servidores remotos cada vez?
settings.xml:
<?xml version="1.0" encoding="UTF-8"?>
<settings
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"
xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<profiles>
<profile>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>libs-release</name>
<url>http://mvn-srv:8081/artifactory/libs-release</url>
</repository>
<repository>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>snapshots</id>
<name>libs-snapshot</name>
<url>http://mvn-srv:8081/artifactory/libs-snapshot</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>plugins-release</name>
<url>http://mvn-srv:8081/artifactory/plugins-release</url>
</pluginRepository>
<pluginRepository>
<snapshots />
<id>snapshots</id>
<name>plugins-snapshot</name>
<url>http://mvn-srv:8081/artifactory/plugins-snapshot</url>
</pluginRepository>
</pluginRepositories>
<id>artifactory</id>
</profile>
</profiles>
<activeProfiles>
<activeProfile>artifactory</activeProfile>
</activeProfiles>
<servers>
<server>
<id>MyRepository</id>
</server>
</servers>
Error de compilación:
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 14.355s
[INFO] Finished at: Wed Nov 14 14:52:31 IST 2012
[INFO] Final Memory: 4M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project common: Could not resolve dependencies for project com.myc
ompany.app:common:jar:1.0-SNAPSHOT: The following artifacts could not be resolved: commons-jxpath:co
mmons-jxpath:jar:1.3-osgi, xpp3:xpp3_min:jar:1.1.3.4.O-osgi, net.java.dev.stax-utils:stax-utils:jar:
20080702-osgi, net.sf.saxon:saxon:jar:8.9.0.4-osgi, net.sf.saxon:saxon-dom:jar:8.9.0.4-osgi, net.sf.
saxon:saxon-xqj:jar:8.9.0.4, dom4j:dom4j:jar:1.6.1-osgi, mx4j:mx4j-jmx:jar:2.1.1-osgi, mx4j:mx4j-imp
l:jar:2.1.1-osgi, mx4j:mx4j-tools:jar:2.1.1-osgi, mx4j:mx4j-remote:jar:2.1.1-osgi, com.yourkit:yjp-c
ontroller-api-redist:jar:9.0.8, org.apache.geronimo.specs:geronimo-jms_1.1_spec:jar:1.1-osgi, common
s-codec:commons-codec:jar:1.3-osgi, commons-httpclient:commons-httpclient:jar:3.1-osgi, quartz:quart
z-all:jar:1.6.6: Could not find artifact commons-jxpath:commons-jxpath:jar:1.3-osgi in central (http
://mvn-srv:8081/artifactory/libs-release) -> [Help 1]
Agregando a @duncan-jones una respuesta excelente, una excelente forma de solucionar problemas de resolución es realizar una llamada de Recuperación de artefactos de rastreo , en su caso:
http://mvn-srv:8081/artifactory/libs-release/commons-jxpath/commons-jxpath/1.3-osgi/commons-jxpath-1.3-osgi.jar?trace
Por cierto, ni siquiera veo la versión 1.3-osgi en repo1 .