2017-07-26 5 views
1

私は本当に便利なJesterJの便利なバージョンをリリースしようとしています。 Jfrogの人々は、Artifactory Proへの無料アクセスでオープンソースの取り組みを認識するのに十分なほど優れているので、私は過渡的な依存関係のライセンスを検査して検証するために使っています。私はApache 2.0ライセンスを使用していますので、Apache's own standardを2.0ライセンスに準拠させようとしています。しかし、Apache Tika 1.12の依存関係の1つに「カテゴリX」の依存関係がありました.1.12は、私が思ったポリシーの変更やTikaの新しいバージョンでこれらの依存関係の問題を修正した時点でリリースされました。グレードはTikaのアーティファクトを使って推移的依存関係を解決していません

論理的な解決策は、Tika依存関係をアップグレードすることです。残念ながら、これはうまくいっていません。 Tikaを1.15(または1.16に)にアップグレードすると、コンパイルの問題を引き起こすtika-coreを取得しないなど、tika-parserからの推移的な依存関係がなくなったことがわかりました。

+--- org.apache.tika:tika-parsers:1.12 
| +--- org.apache.tika:tika-core:1.12 
| +--- org.gagravarr:vorbis-java-tika:0.6 
| | \--- org.apache.tika:tika-core:1.5 -> 1.12 
| +--- com.healthmarketscience.jackcess:jackcess:2.1.2 
| | +--- commons-lang:commons-lang:2.6 
| | \--- commons-logging:commons-logging:1.1.3 -> 1.2 
(etc) 

そして、私のGradleビルドで2〜6以外は何も変えていないが、私が手::

+--- org.apache.tika:tika-parsers:1.16 
+--- org.apache.solr:solr-solrj:5.5.0 
| +--- commons-io:commons-io:2.4 
| +--- org.apache.httpcomponents:httpclient:4.4.1 
| | +--- org.apache.httpcomponents:httpcore:4.4.1 
(etc) 

この問題はArtifactory /のGradleの交差点でどこかにあるここでは1.12とGradleのdependenccies出力ですTikaが最近のバージョンのMETA-INFにpomファイルを含め始めたという事実に関連している可能性があります。

物事私が試してみました -

  1. は私のLIBS-リリース先の仮想リポジトリofJCenter(変更なし)にMavenCentralを追加

私がいることに気づく4.0(変更なし)をGradleのために移動しますArtifactoryのmaven-central-cacheリポジトリはpomを1.16でキャッシュしませんが、pomを1.12でキャッシュします。だれかがアーティファクトをキャッシュ/キャッシュに提供する方法を教えてもらえれば、それが適切であるかどうかを確認するためにgradleを得ることができます。

フル・ビルドファイルの構成はここに表示されている:ここjetsterjのartifactoryへ https://github.com/nsoft/jesterj/blob/273c99a0bceccda7f0933299c699232fec1079ad/code/ingest/build.gradle

匿名アクセス: https://jesterj.jfrog.io/jesterj/webapp/#/home

+0

あなたは([Mavenの中央上のApacheティカパーサ1.16 POMを見る]場合https://mvnrepository.com/artifact/org.apache:

だから修正は、この設定をオフにしました.tika/tika-parsers/1.16)これはTika Coreなどに依存して正しく表示されます.GradleにMaven Centralを直接使用するように指示するのはなぜですか? – Gagravarr

+0

私はArtifactoryのライセンス管理機能を使用しています。これは "ビルド"という言葉で報告されており、パッチを適用したバージョンのライブラリを提供する必要があるケースがいくつかあります。 – Gus

+0

Artifactoryにバグを報告することしか提案できません、本当にそれを使用する必要がある場合は、物事を壊すように見えます。 – Gagravarr

答えて

2

最後には、私はJFrogでバグをしなければなりませんでした。彼らは私のためにそれを解決した。

問題は私が有効にした設定であることが判明しました。 401の代わりに404を使って権限のないリソースを隠す設定があります(人が釣りに出ないようにして、あなたが何を持っているかを明らかにしないようにします)。私はそれを有効にしたので、これは漠然とより安全に聞こえました。私は匿名アクセスを有効にするまで、すべてがうまくいったと信じています...この組み合わせは、gradleの依存関係解決を破ります。 JFrogのサポートは、maven(そしておそらくgradleも)は常に匿名アクセスを試みると言います。 404になると、おそらくリソース(pom.xml)が存在しないと仮定します。いいえ、依存関係のリストはありません。

Tika 1.12の唯一の特記事項は、匿名アクセスを有効にする前に既に読み込んでいたことです。

screenshot of setting

関連する問題