当前位置: 首页 > 知识库问答 >
问题:

Bouncy castle无此类方法错误(v1.61)和milo(v0.3.8)

姜彬郁
2023-03-14

我的情况与此类似,但它是bouncycastle的更新版本,所以我不确定是否是相同的情况,四年后,没有公认的答案:

充气城堡没有这样的方法错误

我将bc与eclipse milo一起使用,并使用ant构建:我的依赖项是:bcpkix-jdk15on-1.61。jar bcprov-jdk15on-1.61。罐子

当我在eclipse中启动我们的应用程序时,我们能够安全地与UA专家测试客户端连接,而不会出现任何问题。然而,当在SBC上部署的应用程序上与UA Expert连接到milo opc UA服务器时,我发现了以下错误:

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构建,我相信所有的类路径都指向当前的库。

共有2个答案

呼延鸿畅
2023-03-14

我们发现另一个jar pdfbox-all-2.0.13。jar中有一个较早的嵌入式版本bouncycastle,我们的ant构建将这些jar解压缩到所需的较新库的较新版本上。删除旧的bouncy castle类或使用vanilla pdfbox似乎可以解决NoSuchMethod问题。无法想象这将是许多其他人的常见情况。

    <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" />
        ...
易飞文
2023-03-14

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

 类似资料:
  • 问题内容: 我在gratell项目的intellij中遇到错误。我正在导入现有的gradle项目,并尝试在gradle窗口中刷新它。 请指教。 问题答案: 升级到Java 11时遇到了这个问题。 我不得不将gradle从5.0降级到4.10.3。然后,我需要升级到Intellij Idea的最新版本。您可能只需要升级Intellij。 编辑:降级gradle是修复。Intellij版本无关紧要。

  • 问题内容: 我正在编写一个Java应用程序,该应用程序必须将记录添加到数据库中。一切正常,直到我想向数据库添加局部变量为止(我认为我将括号放在错误的地方或其他原因)。无论如何,我已经厌倦了寻找问题并希望获得一些帮助。 我的代码: 错误: 谢谢汤姆 问题答案: 问题是in查询。该变量没有用引号括起来 使用以下代码:

  • 问题内容: 无法播放此视频错误… !! 看到图片 截屏 怎么办?按下播放按钮后,它说不能播放此视频。需要解决这个问题。 问题答案: 您好,前天我遇到了同样的问题,几乎尝试了所有方法,但都没有成功。之后,我使用了这个库,并且运行良好。只需遵循几个步骤: 第1步。 将其添加到您的gradle 第2步。 将其添加为xml布局中的视频播放。 第3步。 从此处检查如何在您的班级中使用此库, 我这边还有另外一

  • 我几乎完成了一个基本的刽子手游戏,但我在课堂上遇到了“makeGuess”方法的困难。我试图测试用户输入(他们的一个字符猜测)与秘密单词,并更新伪装的单词,如果他们的猜测是正确的或不正确的。任何正确方向的建议或指点都将不胜感激。每次运行时都会出现以下错误: 这是刽子手课: } 这是我的演示课 }

  • 问题内容: 我已经尝试了过去两天没有运气的问题。我只是试图使用spring框架和hibernate创建一个基于注释的JUnit测试。 我的IDE是netbeans 6.5,我正在使用hibernate3,spring2.5.5和JUnit 4.4。 这是我得到的错误: 问题答案: 将始终表明,一类是在你的编译器的类路径的版本是从上运行时类路径类的版本不同(有方法在编译时失踪,编译就失败了。) 在这

  • 当我尝试运行一个JUnit类时,我得到以下错误: 我怀疑这是POM.xml中的配置问题,但我不确定。顺便说一下,这里是依赖项: http://maven.apache.org/maven-v4_0_0.xsd"