2

プロジェクトの依存関係の依存関係を変更するには、ローカルリポジトリを作成する必要がありますか?

docjureを使用しているclojureプロジェクトがあります。docjureにはpoi3.6への依存関係が含まれています。

私が読んでいる生成されたExcelファイルのバグのため、バグを回避するためにハッキングしたローカルバージョンのpoi3.8があります。

プロジェクトがreplで正常に実行されるように、poi3.8jarをプロジェクトのlib/ディレクトリに貼り付けるのは簡単です。

しかし、lein deps(またはjarとuberjar)は、lib /ディレクトリを正常にクリーンアップし、poiの3.6バージョンを再インストールして、ビルドを中断します。

考えられる解決策は2つあると思います。

1-ハッキングされたpoi3.8をローカルリポジトリに配置します2-docjureの独自のローカルコピーを作成し、そのローカルリポジトリを指すように依存関係を更新します。

私は、これがこの場合に行う「正しいこと」であるという確認、または他のことを行う方がはるかに簡単であることを指摘する誰かを探しています。

4

1 に答える 1

3

まだ読んでいない場合は、LeiningenのRepeatabilitywikiページを読む価値があります。その一部を引用するには:

コードが公開されている場合は、アップストリームでバグレポートを開いて、プロジェクトに応じて、Clojars、Sonatype、MavenCentralなどの公開リポジトリに公開する必要があります。それらが耐性があるか遅すぎる場合は、「Clojarsフォーク」を公開することが常に可能です。詳細については、leinhelpの展開を参照してください。

究極の解決策は、変更をアップストリームにプッシュすることです。そうすれば、必要なバージョンに依存することができます。推移的なバージョンよりも高い場合、Leiningenはそのバージョンを好むと思います。


別のオプションは、安全な(チェックインされた)ディレクトリにjarを含めることです。次に、組み込みタスクにフックできるプラグインを作成し、jarファイルをlibディレクトリにコピーします。これが成功するかどうかは本当にわかりませんが、調べる価値はあります。

于 2012-05-17T15:35:06.183 に答える