5

私は次のように編成されたMavenプロジェクトを持っています:

私のプロジェクト

  • コア(親-> oss.sonatype.org)
  • パッケージ(親-> MyProject)

MyProjectとPackageは、独自の展開方法のためにプロジェクトをバンドルする際に使用されます(特殊なZipを作成します)

私がやりたいのは、コアプロジェクトをOSS Sonatype Nexusリポジトリにデプロイして、他のプロジェクトでMavenDependenciesを介して使用できるようにすることです。

「MyProject」は、そのサブプロジェクト(Core、Package)とともにgithubにチェックインされます。

私の問題は、(コアディレクトリで)maven release:performを実行すると、githubからMyProjectをチェックアウトし、親のpomに対してmavendeployを実行することです。これはチェックアウトのルートにあるpomであるためです。

ネストされたgitリポジトリを扱いたくありません。MyProjectとPackageをあるリポジトリで維持し、Coreを別のリポジトリで維持する方法を理解します。

だから、どうすれば私は次のいずれかを行うことができます:

  1. maven-release-plugin(oss.sonatype.org親pomを介して含まれる)に、コアプロジェクトに対してのみ実行するように指示します。
  2. MyProjectおよびPackageプロジェクトでのすべてのデプロイアクションをスキップするようにmaven-release-pluginに指示します。(maven-release-pluginがPOMバージョンの同期を維持できるので、これを好むと思います)。
4

1 に答える 1

1

親を解放しないとモジュールを解放できないと思います。

プラグインに関するドキュメントを確認しましたが、親を解放できますが、子の解放に関する情報だけが見つかりません。

参照: http: //maven.apache.org/maven-release/maven-release-plugin/faq.html#nonrecursive

于 2013-02-28T11:23:48.480 に答える