2012-04-19 5 views
7

私は多くのMavenプロジェクトを管理しています。それらのほとんどは、内部のMavenリポジトリにデプロイします。今度は1つのプロジェクトをMaven Centralにリリースしたいと思います。今まで私は私たちの内部リポジトリのdistributionManagementを指定した親POMを持っていました。この情報をMaven Centralにデプロイするのは意味がありません。プロジェクトをMaven Centralに移動

私の内部プロジェクトの配布管理をどのように指定する必要がありますか?私は内部プロジェクトのために独立した親pomグループを持つべきですか?

ソーラータイプには、リポジトリに直接デプロイする方法が記載されていますが、独自の親pom(oss-parent)を使用することをお勧めします。 mvnrepository.orgを使っているプロジェクトを見ると、oss-parentを親として持つプロジェクトは見つかりませんでした。ほとんどのプロジェクトはSonatypeにアーティファクトを手動で展開しますか?どこでどのように展開するのですか?

多くの質問があります。私はどのように複雑にこれに驚いています...

更新:それは私が特定したプロジェクトの一部が判明do oss-parentを使用します。親の親として隠されているだけです。

+1

最後に私はそれについて読んで、私はあなたがMaven Centralにあなたの瓶を入れるためにチケットを払わなければならないと信じています。しかし、あなたはSonatype OSSリポジトリについて正しいですが、私はあなたがレポに直接展開できる特定の前提条件を満たしていると思います。いくつかの図書館をパブリックドメインに置く場合は、理想的にはApache 2または同様のライセンスが必要です。世界にコードを公開する準備はできていますか?もしあなたがそうであれば、Github、SourceForgeやGoogle Codeのような場所でコードをホストするのがよいでしょう。 –

+0

コードは世界に公開されています。私は今、バイナリを世界中に利用できるようにしようとしています。 – schmmd

答えて

9

は、あなたがSonatypeのOSSリポジトリに直接staged releasesSNAPSHOTsを展開することができます。ステージのリリースはreleased through Sonatype's Nexus UIです。

展開可能なアプリケーション用のリポジトリフォルダを作成するには、open a ticket with Sonatype on their JIRAと、展開するオープンソースプロジェクトへの参照が必要です。プロセスは非常にスムーズで、必要な情報をすべて提供しなければSonatypeが役に立ちます。

多くのプロジェクトが親としてoss-parentを持っているようには見えませんが、POMツリーを上に移動すると多くの場合そうなります。たとえば、Google Guavaには親guava-parentがあり、親はoss-parentです。プロジェクトにoss-parentがあり、リポジトリが設定されたら、SNAPSHOTを簡単に配備して、mvn deployまたはmvn release:prepare release:performでリリースできます。

これは圧倒的だと思われますが、最初にステップをたどっただけでは簡単に理解できます。

6

最初にお読みになるのは次のとおりです。 https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide OSSの親は特別な状況の下では他の意味では意味がありません。それはあなたがどのようなプロジェクトを配布したいかによって異なります。

更新日:このリンクは現在無効です。 Sonatypeへのデプロイメントについては、hereを参照してください。

UPDATE:Mavenのセントラルこれをチェックするために:あなたは、すべての設定されていたらhttp://central.sonatype.org/

+0

私はその文書を読んだ。 OSSの親が理にかなっているときとそうでないときには注意が必要ですか?OSSの親を持たないプロジェクトは、どのようにMavenの中心に展開しますか?彼らはpom.xmlにdistributionManagementを持たずに内部的にどのようにデプロイしますか? – schmmd

+0

独自のdistributionManagement領域(http://search.maven.org/#artifactdetails|com.soebes.smpp|smpp|0.3|pom)を作成するだけです。あなたはdistributionManagementなしで内部的にデプロイすることはできません...内部的にもリポジトリマネージャを持つことが最善です...内部的に使用されているが、このプロジェクトよりも中央のMavenにデプロイされるプロジェクトがあれば、別の親を使用していますが、中心に移動するものは中心にないものに依存しないよう注意してください。 – khmarbaise

+2

あなたが参照する文書は魔法のように消えてしまいました。 –

関連する問題