web-dev-qa-db-ja.com

有用なJavaライブラリを作成して公開する方法

私は最近、オブジェクトのリストごとに順列を生成するJavaクラスに取り組んでいます。いずれにしても、このライブラリを公開してもらいたいので、いくつか質問があります。

  • 私が目にするほとんどのライブラリには、特にcom/orgを含む、この複雑なパッケージの命名があります。これらの規約はありますか、それともpermutationsパッケージで十分ですか?
  • これらを公開するための特定の形式はありますか?ソースコード/ javadocに個別のWARを含める必要がありますか?
  • GitHubリポジトリにファイルがあります。そこにファイルを提供できると思いますが、どうすれば私のリポジトリを見つけてもらえますか?
9
Amir Rachum
  • (GitHubのソースコードは別として)公開するための標準的な方法は、正式なJAR/WARリリースを Maven Central にリリースすることです。依存関係として。これを行うには、最善の方法は Nexusプロセス を実行することです。

  • SourceforgeやGitHubなどのコードホスティングリポジトリで同じJAR/WARをホストすることもフレンドリーと見なされています。

  • ドメインの観点から。 firstnamelastname.net/org/comを購入し、それを命名スキームとして使用することをお勧めします(たとえば、私にとってはnet.martijnverburg.foobarです)。それ以外の場合は、@ Daniel Mouraによって提案されているgithubドメインを使用することをお勧めします。

  • それを宣伝するには、それについてブログに書いて、Twitterについて、ハッカーニュース、reddit、digg、slashdot、dzone、TSS、javaworldなどに送信してください。

HTH!

9
Martijn Verburg

コードをGitHubにプッシュした場合、ライブラリ(jar)の共有は JitPack で簡単に行えます。

ユーザーは、リポジトリをbuild.gradleに追加するだけです。

repositories {
    mavenCentral()
    maven { url "https://jitpack.io" }
}

そして依存関係としてあなたのGitHubリポジトリ:

dependencies {
    // ...
    compile 'com.github.YourUsername:Repo:Release'
}

JitPackは、Maven Centralと同様のMavenリポジトリーとして機能します。良い点は、ライブラリをアップロードする必要がないことです。 JitPackはGitHubからコードをチェックアウトしてコンパイルします。 GitHubで新しいリリースを公開すると、他のユーザーが使用できるようになります。

また、プロジェクトの準備方法と、ソースjarを追加する例の ガイド もあります。

GroupIdがcom.github.Usernameになるように、ドメイン名を持っている必要はありません。パッケージの名前付けにも使用できます。

3
Andrejs

私が目にするほとんどのライブラリには、特にcom/orgを含め、この複雑なパッケージの命名があります。これらの規則はありますか、順列パッケージで十分ですか?

パッケージ名の付け方に関するOracleからの推奨事項 があります。この命名規則の理由は、重複を最小限にするためです。誰もが短くて単純な名前を単に使用すると、プロジェクトに2つのpermutationパッケージが含まれる可能性が高くなります。 1つのクラス名が同じ場合、名前の競合が発生します。クラスの解決を妨げる名前の競合がない場合、開発者は混乱する可能性があります。

ドメイン名をお持ちの場合は、それを使用することをお勧めします。 GitHubやSourceforgeなどのサービスでホストしている場合は、プロジェクトへのパスを使用するだけでも十分です。とにかく、衝突や混乱を防ぐために明示的にしてください。

これらを公開するための特定の形式はありますか?ソースコード/ javadocに個別のWARを含める必要がありますか?

特定の形式はありません。少なくとも、ソースとコンベンションビルドスクリプト(Make、Ant、Maven)。 JARまたはWARがプリコンパイルされているのはいいことですが、必須ではありません。ライブラリーにJavadocが含まれているプロジェクトもあれば、2つのJARが生成されるプロジェクトもあります(1つはJavadocあり、もう1つはなし)。また、プロジェクトホスティングソリューションで許可されている場合は、Javadocをインターネットで公開することをお勧めします。

GitHubリポジトリにファイルがあります。私はそこでファイルを提供できると思いますが、どのようにして人々に私のリポジトリを見つけさせることができますか?

それを宣伝しなさい。数人の友人にそれを披露することから始めます。それについてのブログ。インターネット上のリンクを共有します。このライブラリを使用して解決できる問題を抱えている人を見つけます(ただし、ライブラリを作成したことを必ず公開してください)。

2
Thomas Owens