Как использовать Bitbucket как удаленный репозиторий maven?
Мы планируем использовать bitbucket как репозиторий исходного кода, а также удаленный репозиторий для наших проектов на основе maven. Я создал репозиторий на битбакете, как показано ниже:
https://bitbucket.org/mycompany/maven-repository
Как я могу нажимать мои баннеры проекта для конкретного проекта в вышеупомянутый удаленный репозиторий, используя конкретный проект pom.xml? Можете ли вы помочь мне с образцом pom.xml? Мы будем подталкивать все специфические банки компании в вышеупомянутый удаленный репозиторий, который будет использоваться другими проектами внутри компании в качестве зависимостей maven.
Вот что я пытался до сих пор проталкивать один образец проекта в удаленное репо:
<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>
Вышеупомянутый родительский pom, который будет включен всеми другими проектами внутри компании, и я хотел бы нажать это на дистанционное репо, которое будет использоваться другими проектами, относящимися к конкретной компании.
Когда я запускаю команду mvn deploy, это ошибка, которую я получаю:
C:\Cooler\Work\dev\Projects\mycompany\wal-common>mvn deploy
[WARNING]
[WARNING] Some problems were encountered 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
Спасибо за вашу помощь.
Ответы
Ответ 1
Вы можете попробовать http://synergian.github.io/wagon-git/index.html, в нем есть инструкции для битбакет.
Альтернативой использованию bitbucket является использование папки Dropbox для компании. https://code.google.com/p/peter-lavalle/wiki/MavenOnDropBox Содержит очень хорошее пошаговое руководство о том, как это сделать.
Ответ 2
Установите банки в локальный репозиторий maven.
Сделать каталог, например, maven-repo/repository
cd в maven-repo
выполните следующее (заменяя аргументы теми, которые имеют отношение к вашей банке):
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
Выделите папку в общедоступный репозиторий BitBucket.
Создайте репозиторий в вашем pom.xml, указывая на папку bitbucket (вы должны использовать /raw/master в пути https://bitbucket.org/your-user-or-group/your_maven-repo /raw/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>
Источник: Хостинг Maven Repository для сторонних банках Git (Bitbucket/Github)
Ответ 3
Как я могу подталкивать свои специфичные для проекта проекты в вышеупомянутый пульт репозиторий, используя конкретный проект pom.xml?
Вы не можете. не должны на мой взгляд.
Bitbucket не предназначен для maven репозиторий. Пытаясь получить maven для развертывания артефактов в BitBucket , это просто неправильно. может противоречить условиям использования Atlassian. С другой стороны, это может быть хорошо.
Вам нужно либо вместо этого развернуть в свой собственный локальный репозиторий или публичный.
Ответ 4
Теперь мне удалось добиться этого. Я следил за этими инструкциями, и я могу развернуть артефакты в битбакет, а затем использовать их в другом проекте maven.
Твики, которые я должен был сделать, чтобы заставить его работать, были:
- Обновить Wagon- Git до v0.2.0
- Настройте Git с помощью Git config --global user.email, поскольку он, похоже, не подбирает параметр -local, который я использовал ранее
Я также вручную добавил README.md в репо, но я не думаю, что это действительно было необходимо.
После успешного развертывания в репо вы должны увидеть все ваши файлы обычным способом через веб-интерфейс BitBucket.