在项目中用到了sshj和bouncycastle,运行时,遇到了下面的两种错误,我用的是JDK1.8
- Caused by: java.lang.SecurityException: class "org.bouncycastle.math.ec.ECCurve$AbstractFp"'s signer information does not match signer information of other classes in the same package
- org.bouncycastle.asn1.ASN1OutputStream.<init>(Ljava/io/OutputStream;)V from class net.schmizz.sshj.signature.SignatureECDSA
先用 mvn dependency:tree 定位到 com.hierynomus中依赖了 org.bouncycastle,这与pom.xml里的org.bouncycastle冲突了,exclusion后,正常了。
<dependency>
<groupId>com.hierynomus</groupId>
<artifactId>sshj</artifactId>
<version>0.35.0</version>
<exclusions>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.70</version>
</dependency>