首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无此方法错误(v1.61)和milo (v0.3.8)

无此方法错误(v1.61)和milo (v0.3.8)
EN

Stack Overflow用户
提问于 2020-03-06 02:41:00
回答 2查看 763关注 0票数 0

我的情况与此相似,但它是较新版本的赏金城堡,因此我不确定是否是同样的情况,而且四年后还没有得到一个公认的答案:

Bouncy castle no such method error

我使用bcpkix-jdk15on-1.61.jar bcprov-jdk15on-1.61.jar来构建一个ant构建:bcpkix-jdk15on-1.61.jar

当我在eclipse中启动我们的应用程序时,我们能够安全地与UA专家测试客户端连接,没有任何问题。然而,当我们在SBC上部署的应用程序上与UA专家连接到milo服务器时,我看到了这个错误:

代码语言:javascript
复制
Mar 05, 2020 6:54:48 PM org.eclipse.milo.opcua.stack.core.util.ExecutionQueue$Task run
WARNING: Uncaught Throwable during execution.
java.lang.NoSuchMethodError: org.bouncycastle.util.Arrays.areAllZeroes([BII)Z
    at org.eclipse.milo.opcua.stack.core.util.NonceUtil.validateNonce(NonceUtil.java:183)
    at org.eclipse.milo.opcua.stack.core.util.NonceUtil.validateNonce(NonceUtil.java:153)
    at org.eclipse.milo.opcua.stack.server.transport.uasc.UascServerAsymmetricHandler.openSecureChannel(UascServerAsymmetricHandler.java:437)
    at org.eclipse.milo.opcua.stack.server.transport.uasc.UascServerAsymmetricHandler.lambda$sendOpenSecureChannelResponse$1(UascServerAsymmetricHandler.java:301)
    at org.eclipse.milo.opcua.stack.core.channel.SerializationQueue.lambda$encode$0(SerializationQueue.java:57)
    at org.eclipse.milo.opcua.stack.core.util.ExecutionQueue$Task.run(ExecutionQueue.java:119)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

我们有一个ant构建,我相信所有的类路径都指向当前的库。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-10 02:28:55

我们发现另一个jar pdfbox-all-2.0.13.jar中有一个旧版本的赏金城堡,我们的ant build正在将这些jar解压缩到所需更新库的更新版本上。删除旧的弹跳城堡类或使用香草pdfbox似乎解决了NoSuchMethod问题。无法想象,这将是一个常见的场景,对许多其他人。

代码语言:javascript
复制
    <jar jarfile="${dist}/thirdparty.jar">
        <manifest>
            <!--These jars need to be at the same level as the jar created for this project-->
            <attribute name="Compiler" value="${build.compiler}"/>
        </manifest>
        <fileset dir="./src" includes="META-INF/persistence.xml" />
        <zipfileset excludes="META-INF/*.SF" src="../../../filtec-bin/packages/rhino/lib/rhino.jar" />
        <zipfileset excludes="META-INF/*.SF" src="../../../filtec-bin/packages/junit4/junit-4.12.jar" />
        ...
        <zipfileset excludes="META-INF/*.SF" src="../../../filtec-bin/packages/bouncycastle/bcpkix-jdk15on-1.61.jar" />
        <zipfileset excludes="META-INF/*.SF" src="../../../filtec-bin/packages/bouncycastle/bcprov-jdk15on-1.61.jar" />
        ...
        <zipfileset excludes="META-INF/*.SF" src="../../../filtec-bin/packages/pdfBOX/pdfbox-app-2.0.13.jar" />
        ...
票数 1
EN

Stack Overflow用户

发布于 2020-03-06 15:18:11

您必须有另一个旧版本的BouncyCastle,它也在类路径上或者在您的构建中。导致此错误的方法仅在BC v1.61中添加。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60556824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档