プロジェクトのアップロードに関するセクションが役立つ中央リポジトリへのガイドがあります。他に何もなければ、プロジェクトに対する命名規則と最小限の情報要件を確認できます。
Sonatype は OSS リポジトリのホスティングも行っています。詳細については、Sonatypeのガイドを参照してください。
更新: ビルド プロセスを変更する必要があると言っているわけではありません。Ant が機能する場合は、そのまま使用してください。ビルド方法に関係なく、POM で Maven 規則に従うことは価値があります。jar を Maven リポジトリに配置するポイントは、Maven ユーザーがアクセスできるようにすることであるため、公開されたアーティファクトの POM を定義する必要があります。命名規則に従うことはユーザーを助けるので、そうすることもできます。たとえば、SCM の詳細を pom に追加すると、(特に) ユーザーは Maven の IDE 統合を使用してプロジェクトをワークスペースにインポートできます。
基本的に、次の 4 つのオプションがあります。
- Maven リポジトリに対して標準の Maven ビルドを実行する (既に除外されている)
- Maven リポジトリをセットアップし、Ant でビルドを行い、Maven を使用して jar と POM をデプロイします。
- Maven リポジトリを設定し、Ant HTTP タスクを使用してアーティファクトを公開します
- Subversion の「リポジトリ」を使用し、SvnAnt タスクを使用してアーティファクトを公開します
オプション1
Maven を使用して成果物をビルドおよびデプロイします (詳細については、Maven ブックおよび上記のリンクを参照してください)。
オプション 2
jar を作成するビルド プロセスがあり、POM を定義したと仮定すると、最善の策は、上記のようにそれを Sonatype OSS リポジトリに公開することです。
既存の jar を標準の Maven リポジトリにデプロイするのは、Maven デプロイ プラグインの deploy-file ゴールを使用すると簡単です。
- リポジトリをセットアップします (たとえば、Jira リクエストを発行して Sonatype サーバーで)
- Ant で jar をビルドします。
- POM を定義した場合は、jar と同じディレクトリに配置します。
deploy-file ゴールを実行します。
mvn deploy:deploy-file -Durl= http://path/to/your/repository \ -DrepositoryId=some.id \ -Dfile=path-to-your-artifact-jar \ -DpomFile=path-to-your- pom.xml
Maven deploy ゴールは、pom.xml を [project-name]-[version].pom に自動的に変換することに注意してください。他の 2 つの方法のいずれかを実行している場合は、最終的な名前、つまり [プロジェクト名]-[バージョン].pom で POM をコミットする必要があります。また、Maven 規則に従ってアーティファクトの相対パスを作成する必要があります。
たとえば、groupId=com.foo.bar、artifactId=my-project version=1.0.0 の場合、ファイルへのパスは次のようになります。
/com/foo/bar/my-project/my-project-1.0.0.jar
/com/foo/bar/my-project/my-project-1.0.0.pom
オプション 3
Ant を使用して Maven リポジトリにデプロイする場合は、 Ant HTTP ライブラリを使用できます(これは自分で試したことがないことに注意してください)。jar 用と POM 用の 2 つの HTTP put タスクを作成します。
<httpput url="http://path/to/your/repository" putFile="/path/to/yourproject.pom">
<userCredentials username="user" password="password"/>
</httpput>
<httpput url="http://path/to/your/repository" putFile="/path/to/yourproject.jar">
<userCredentials username="user" password="password"/>
</httpput>
オプション 4
Maven を完全に回避し、Ant を使用して SVN ベースのリポジトリにデプロイする場合は、 SvnAnt Subversion ライブラリを使用できます。アーティファクトをリモート Subversion リポジトリに追加するには、 Svn インポートタスクを構成するだけです。
<import path ="/dir/containing/the/jar/and/pom"
url="svn://your/svn/repository"
message="release"/>