Mavenベースのプロジェクトのリモートリポジトリとしてだけでなく、ソースコードリポジトリとしてbitbucketを使用する予定です。以下のようなbitbucketにリポジトリを作成しました。
https://bitbucket.org/mycompany/maven-repository
プロジェクト固有のpom.xmlを使用して、会社固有のプロジェクトjarを上記のリモートリポジトリにプッシュするにはどうすればよいですか?サンプルpom.xmlを手伝ってくれませんか?すべての会社固有のjarを上記のリモートリポジトリにプッシュして、社内の他のプロジェクトでMaven依存関係として使用します。
ここに、1つのサンプルプロジェクトをリモートリポジトリにプッシュするためにこれまで試していたものがあります。
<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
ご協力いただきありがとうございます。
試すことができます http://synergian.github.io/wagon-git/index.html bitbucketの説明があります。
Bitbucketを使用する代わりに、会社用のドロップボックスフォルダーを使用することもできます。 https://code.google.com/p/peter-lavalle/wiki/MavenOnDropBox これを行う方法に関する非常に良いステップバイステップガイドが含まれています。
ローカルのMavenリポジトリにjarをインストールします。
ディレクトリを作成しますmaven-repo/repository
maven-repoにcd
以下を実行します(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
フォルダをBitBucketパブリックリポジトリと共有します。
Bitbucketフォルダーを指すリポジトリをpom.xmlに作成します(パスで/ 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>
プロジェクト固有のpom.xmlを使用して、会社固有のプロジェクトjarを上記のリモートリポジトリにプッシュするにはどうすればよいですか?
君は できません。 私の意見ではないはずです。
Bitbucket は mavenリポジトリ であることを意図していません。アーティファクトをBitBucketにデプロイするためにMavenを取得しようとしています それはただ間違っている mayはアトラシアンの利用規約に違反します。一方、それは大丈夫かもしれません。
君は どちらかが必要 代わりに、独自のローカルリポジトリまたはパブリックリポジトリにデプロイする必要があります。
これでなんとか動作するようになりました。 これらの手順 に従い、アーティファクトをbitbucketにデプロイし、別のMavenプロジェクトで使用することができます。
動作させるために私がしなければならなかった微調整は次のとおりです。
また、手動でREADME.mdをレポジトリに追加しましたが、これが実際に必要だとは思いません。
レポジトリへのデプロイに成功すると、BitBucket Webフロントエンドを介して通常の方法ですべてのファイルが表示されます。