通过artifactory不能解决Tika的传递依赖性的等级
我正在努力发布第一个真正有用的JesterJ版本,并且遇到了依赖解决方案的主要障碍。 Jfrog的友善人士已经足够认识我的开源工作,可以免费访问Artifactory Pro,因此我正在使用它来检查和验证传递依赖关系的许可证。我使用Apache 2.0许可证,因此我试图使用Apache's own standard来遵守它的2.0许可证。然而,其中一个依赖项Apache Tika 1.12有一些“X类”依赖项1.12是在对该策略进行一些更改时发布的,我认为Tika的新版本已经纠正了这些依赖项问题。通过artifactory不能解决Tika的传递依赖性的等级
逻辑解决方案是升级我的Tika依赖项。不幸的是这并没有好转。当我将Tika升级到1.15(或现在的1.16)时,我发现我不再从tika解析器获得传递依赖关系,包括没有得到导致编译问题的tika-core。下面是dependenccies输出gradle这个与1.12:
+--- 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的/摇篮相交的地方这可能与Tika已经开始在最新版本的META-INF中包含他们的pom文件有关。
事情我都试过 -
- 移动到摇篮4.0(无变化)
- 添加MavenCentral我的库,提前释放虚拟资源库ofJCenter(无变化)
我注意到, Artifactory中的maven-central-cache存储库不会缓存1.16的pom,但会将pom缓存为1.12。如果任何人都可以告诉我如何获得artifactory来缓存/服务pom或者获取gradle来正确地请求它(不确定哪个是问题),这将会有所帮助。
全力打造文件配置可见这里: https://github.com/nsoft/jesterj/blob/273c99a0bceccda7f0933299c699232fec1079ad/code/ingest/build.gradle
匿名访问这里的jetsterj artifactory的: https://jesterj.jfrog.io/jesterj/webapp/#/home
如果你[看看阿帕奇蒂卡分析器1.16 POM Maven的中央(https://mvnrepository.com/artifact/org.apache .tika/tika-parsers/1.16)你会看到它正确的依赖于Tika Core等。为什么不直接告诉Gradle直接使用Maven Central? – Gagravarr
因为我使用Artifactory中的许可证管理功能,这些功能是按“构建”方式报告的,并且有几种情况需要提供修补程序库的版本。 – Gus
我只能建议你向Artifactory报告一个bug,如果你真的需要使用它,因为它似乎是破坏的东西.... – Gagravarr