[英]Problem with gradle and external jar - jar not found
我有Gradle的问题。 我想使用外部提供的Jar: itext-2.1.7.js6.jar
,它是JasperReports使用的修补版本。
在项目结构中,我有一个/libs
目录,包含2个文件: fonts.jar
和itext-2.1.7.js6.jar
我的gradle.build文件的一部分如下所示:
compile fileTree(dir: 'libs', include: ['*.jar'])
implementation group: 'net.sf.jasperreports', name: 'jasperreports', version: '6.7.1'
implementation group: 'net.sf.jasperreports', name: 'jasperreports-functions', version: '6.8.0'
implementation group: 'joda-time', name: 'joda-time', version: '2.9.9'
//implementation group: 'hu.blackbelt.bundles.itext', name: 'com.lowagie.itext', version: '2.1.7-1'
最后一个依赖项被注释掉,因为我想使用外部JAR而不是原始的iText。
当我试图运行我的应用程序时,我得到:
BUILD FAILED in 0s
1 actionable task: 1 executed
Could not find com.lowagie:itext:2.1.7.js6.
Required by:
project : > net.sf.jasperreports:jasperreports:6.7.1
我究竟做错了什么? 我的fonts.jar
一切都很好,所以我认为iText应该是一样的,但它不是......
由于可以在可见pom
文件jasperreports
,对的显式依赖com.lowagie:itext:2.1.7.js6
这也可以在发现特定的Jasper报表库
这在Maven中透明地工作的原因是Maven将使用pom
文件中定义的存储库,而Gradle将不使用它们,因为它们可能是不安全的来源。
您有两种选择:
libs
删除该文件 jasperreports
以便它不再尝试获取该依赖项。 而运行时代码将使用libs
的版本。 在这种情况下,您只是忘记了传递依赖关系管理,例如,在升级jasperreports
并从其依赖关系声明中获取(或不获取)更新版本时。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.