29

ソース コード リポジトリとして、また 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 

ご協力いただきありがとうございます。

4

4 に答える 4

14

http://synergian.github.io/wagon-git/index.htmlを試すことができます。bitbucket の説明があります。

bitbucket を使用する代わりに、会社用のドロップボックス フォルダーを使用することもできます。 https://code.google.com/p/peter-lavalle/wiki/MavenOnDropBox これを行う方法に関する非常に優れたステップバイステップガイドが含まれています。

于 2013-10-13T05:01:26.400 に答える
11

jar をローカルの Maven リポジトリにインストールします。

ディレクトリを作成します。例: 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 にリポジトリを作成します (パスhttps://bitbucket.org/your-user-or-group/your_maven-repo /raw/master/で /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>

出典: Git (Bitbucket/Github)でサードパーティの jar 用のホスティング Maven リポジトリ

于 2014-03-28T14:40:11.723 に答える
2

プロジェクト固有の pom.xml を使用して、会社固有のプロジェクト jar を上記のリモート リポジトリにプッシュするにはどうすればよいですか?

できません。私の意見ではすべきではありません。

BitbucketはMaven リポジトリを意図したものではありません。Maven にアーティファクトを BitBucket にデプロイさせようとするのは、Atlassian の利用規約に違反する可能性があるだけです。 逆にそれでいいのかもしれません。

代わりに、独自のローカル リポジトリまたはパブリック リポジトリにデプロイする必要があります。

于 2013-09-18T12:47:52.907 に答える
1

私は今、これを機能させることができました。私はこれらの指示に従ったので、アーティファクトを bitbucket にデプロイし、それらを別の Maven プロジェクトで使用できます。

それを機能させるために私がしなければならなかった微調整は次のとおりです。

  1. Wagon-Git を v0.2.0 にアップグレード
  2. git config --global user.email を使用して Git を構成します。以前に使用した --local 設定が反映されていないようです。

また、手動で README.md をリポジトリに追加しましたが、これは実際には必要ではなかったと思います。

リポジトリへのデプロイが正常に完了すると、BitBucket Web フロント エンドを介して通常の方法ですべてのファイルが表示されるはずです。

于 2013-10-16T01:01:00.560 に答える