6

Maven / Eclipse に 2 つの Java プロジェクトがあるとします。

  • GitHub でホストされているオープン ソース アプリケーション
  • オープン ソースではないユーティリティ関数を含む小さなプライベート ライブラリ(ただし、.jar ファイルなどのコンパイルされた形式で変更、ビルド、および再配布する権利があります)

私は、他の人がアプリケーションをビルド、変更、実行できるようにしたいと考えています (そして、必要に応じてオープン ソース プロジェクトに貢献することもできます!)。

私は自分自身とアプリケーションのユーザーの両方にとってビルドが簡単になるように、物事をシンプルに保ちたいと思っています。

これを機能させる最も実用的な方法は何ですか?

4

3 に答える 3

3

GitHubに独自のMavenリポジトリを提供して、プロジェクト(pom.xml)から再配布および参照できるクローズドソースライブラリを配布します。

http://cemerick.com/2010/08/24/hosting-maven-repos-on-githubは、GitHubでリポジトリを設定する方法についての優れた紹介を提供します。その投稿でも言及されているそのようなマイクロリポジトリの警告に注意する必要があります。

于 2012-06-27T11:25:49.760 に答える
3

本当に簡単な解決策は、プライベートライブラリをプロジェクト(たとえば<project>/lib/library-1.0.jar)に配置し、それをシステム依存関係として含めることです。あなたはそれをあなたのpomのように含めることができます。

<dependencies>
    <dependency>
      <groupId>my.private</groupId>
      <artifactId>library</artifactId>
      <version>1.0</version>
      <scope>system</scope>
      <systemPath>${project.basedir}/lib/library-1.0.jar</systemPath>
    </dependency>
  </dependencies>

注意:システムの依存関係は推移的ではありません!

ドキュメントから

このスコープは、それを明示的に含むJARを提供する必要があることを除いて、提供されたものと同様です。アーティファクトは常に利用可能であり、リポジトリで検索されません。

于 2012-06-27T11:48:49.573 に答える
3

Maven を使用する場合は、Nexus などの Maven リポジトリ マネージャーを使用し、次の説明に従って設定ファイルを構成することをお勧めします。

https://help.sonatype.com/display/NXRM3/Maven+Repositories#MavenRepositories-ConfiguringApacheMaven

あなたの状況では、Maven Repository Manager を使用してプライベート アーティファクトをホストできるという追加の利点があります。

于 2012-06-27T11:20:33.570 に答える