¿Cómo usar Bitbucket como un repository remoto maven?

Estamos planeando usar bitbucket como repository de código fuente y repository remoto para nuestros proyectos basados ​​en maven. He creado un repository en bitbucket algo como a continuación:

https://bitbucket.org/mycompany/maven-repository

¿Cómo puedo enviar los files jar de proyectos específicos de mi empresa al repository remoto anterior usando el pom.xml específico del proyecto? ¿Me pueden ayudar con una muestra pom.xml? Estaríamos impulsando todos los files jar específicos de la empresa en el repository remoto anterior para ser utilizados por otros proyectos dentro de la empresa como dependencies maven.

Esto es lo que estaba tratando de llevar a cabo un proyecto de muestra en el repository remoto:

<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"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany</groupId> <artifactId>corporate-pom</artifactId> <version>1.0</version> <packaging>pom</packaging> <distributionManagement> <repository> <id>MyCompanyRepo</id> <url>https://bitbucket.org/mycompany/maven-repository</url> </repository> </distributionManagement> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>2.7</version> </plugin> </plugins> </pluginManagement> </build> 

Lo anterior es un pom padre, que será incluido por todos los otros proyectos dentro de la empresa y quería enviar esto al repository remoto para ser utilizado por otros proyectos específicos de la compañía.

Cuando ejecuto el command mvn deploy , este es el error que obtengo:

 C:\Cooler\Work\dev\Projects\mycompany\wal-common>mvn deploy [WARNING] [WARNING] Some problems were encountenetworking while building the effective settings [WARNING] Unrecognised tag: 'snapshotPolicy' (position: START_TAG seen ...</layo ut>\n <snapshotPolicy>... @203:27) @ C:\Users\cooler\.m2\settings.xml, line 203, column 27 [WARNING] [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building corporate-pom 1.0 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-install-plugin:2.3.1:install (default-install) @ corporate-pom --- [INFO] Installing C:\Cooler\Work\dev\Projects\mycompany\wal-common\pom.xml to C:\ Users\cooler\.m2\repository\com\mycompany\corporate-pom\1.0\corporat e-pom-1.0.pom [INFO] [INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ corporate-pom --- Uploading: https://bitbucket.org/mycompany/maven-repository/com/mycompany/corporate- pom/1.0/corporate-pom-1.0.pom [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.607s [INFO] Finished at: Tue Sep 17 14:33:01 MST 2013 [INFO] Final Memory: 7M/122M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7: deploy (default-deploy) on project corporate-pom: Failed to deploy artifacts: Co uld not transfer artifact com.mycompany:corporate-pom:pom:1.0 from/ to CompanyREPO (https://bitbucket.org/mycompany/maven-repository): Connection to h ttp://:8080 refused: Connection refused: connect -> [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 

Gracias por tu ayuda.

Puedes probar http://synergian.github.io/wagon-git/index.html que tiene instrucciones para bitbucket.

Una alternativa al uso de bitbucket es usar una carpeta de Dropbox para la empresa. https://code.google.com/p/peter-lavalle/wiki/MavenOnDropBox Contiene una muy buena guía paso a paso sobre cómo hacer esto.

Instala jarras en un repository maven local.

Hacer un directory, por ejemplo, maven-repo / repository

cd en maven-repo

ejecuta lo siguiente (reemplazando los arguments por los que son relevantes para tu jar):

 mvn install:install-file -DgroupId=com.rapid_i -DartifactId=rapidminer -Dversion=5.3.006 -Dfile=/path/to/artifact/rapidminer.jar -Dpackaging=jar -DgeneratePom=true -DlocalRepositoryPath=./repository -DcreateChecksum=true 

Comparte la carpeta en un repository público de BitBucket.

Crea un repository en tu pom.xml apuntando a tu carpeta bitbucket. (Debes usar / raw / master en la ruta https://bitbucket.org/su-user-o-grupo/your_maven-repo/ruta/master/ ! !

 <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"> <modelVersion>4.0.0</modelVersion> <groupId>org.activeintel</groupId> <artifactId>rapidminer-proj</artifactId> <version>0.0.1</version> <!-- Dependency to jar on Maven Repository on Git-BitBucket --> <dependencies> <dependency> <groupId>com.rapid_i</groupId> <artifactId>rapidminer</artifactId> <version>5.3.006</version> </dependency> </dependencies> <!-- Maven Repository on Git-BitBucket --> <repositories> <repository> <id>neil_rubens-repository</id> <url>https://bitbucket.org/your-user-or-group/your_maven-repo/raw/master/repository/</url> </repository> </repositories> </project> 

Fuente: Hosting Maven Repository para jar de terceros en Git (Bitbucket / Github)

¿Cómo puedo enviar los files jar de proyectos específicos de mi empresa al repository remoto anterior usando el pom.xml específico del proyecto?

No puedes. no debería en mi opinión.

Bitbucket no está destinado a ser un repository maven . Intentar que maven deployment artefactos en BitBucket es una equivocación que puede contravenir los términos de uso de Atlassian. Por otro lado, podría estar bien.

En su lugar, debe implementar en su propio repository local o público.

Ahora he logrado hacer que esto funcione. Seguí estas instrucciones y puedo implementar artefactos en bitbucket y luego usarlos en otro proyecto de maven.

Los ajustes que tuve que hacer para que funcionara fueron:

  1. Actualiza Wagon-Git a v0.2.0
  2. Configurar Git usando git config –global user.email ya que no parecía estar recogiendo la configuration local que había usado previamente

También agregué manualmente un file README.md al repository, pero no creo que esto fuera realmente necesario.

Una vez que se haya implementado con éxito en el repository, debería ver todos sus files de la forma habitual a través de la interfaz web de BitBucket.