我一直在使用PDFBox为现有项目实现扩展的pdf创建API。 为了使用PDFBox,我需要在build.gradle中包括以下依赖项:
implementation('com.tom_roush:pdfbox-android:1.8.10.0')
现有项目使用的依赖项之一是用于加密组件的海绵堡:
implementation 'com.madgag.spongycastle:bcpkix-jdk15on:1.58.0.0'
因此,我首先将两个依赖项都包含在我的build.gradle文件中, 尝试构建应用程序。这是我收到的例外:
程序类型已经存在: org.spongycastle.cert.CertRuntimeException消息{kind = ERROR, text =程序类型已经存在: org.spongycastle.cert.CertRuntimeException,来源= [未知来源 文件],工具名称= Optional.of(D8)}
我认为出现此问题是由于pdfbox的传递依赖关系引起的版本冲突,它们是:
我试图在build.gradle中使用dependency-exclude解决问题:
implementation('com.tom_roush:pdfbox-android:1.8.10.0'){
exclude group:'com.madgag.spongycastle'
}
因为据我所知,我没有在pdfbox实现中直接使用加密方面。
答案 0 :(得分:0)
您可以尝试force predefined versions
df['inv_id_temp'] = df['inv_id'].str.replace('.','')
df['left_match'] = df.apply(lambda x: x['amt_str']==x['inv_id_temp'][:len(x['amt_str'])],1)
df[['amount', 'inv_id','left_match']]
amount inv_id left_match
0 309.90 30990071218 True
1 3130.00 313000B20180501 True
2 3330.50 33305020180425 True
3 17.35 13249261 100117 False
4 43.20 9037878 020418 False
由于版本的不同,它也可能会在库中发生变化。也许是删除或重命名的文件。您也可以尝试强制使用1.54.0.0版本
答案 1 :(得分:0)
非常感谢-我已经能够使用其他方法解决问题。
configurations.all {
resolutionStrategy {
dependencySubstitution {
substitute module('com.madgag.spongycastle:pkix:1.54.0.0') with module('com.madgag.spongycastle:bcpkix-jdk15on:1.58.0.0')
}
}
这解决了我的问题。