我的情况与此相似,但它是较新版本的赏金城堡,因此我不确定是否是同样的情况,而且四年后还没有得到一个公认的答案:
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服务器时,我看到了这个错误:
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构建,我相信所有的类路径都指向当前的库。
发布于 2020-03-10 02:28:55
我们发现另一个jar pdfbox-all-2.0.13.jar中有一个旧版本的赏金城堡,我们的ant build正在将这些jar解压缩到所需更新库的更新版本上。删除旧的弹跳城堡类或使用香草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" />
...发布于 2020-03-06 15:18:11
您必须有另一个旧版本的BouncyCastle,它也在类路径上或者在您的构建中。导致此错误的方法仅在BC v1.61中添加。
https://stackoverflow.com/questions/60556824
复制相似问题