问题:
[ERROR] [2016-08-31 12:41:58] [ExecCmdUtil.java:97] [main] close stdReader JSchException
com.jcraft.jsch.JSchException: Session.connect: java.security.NoSuchAlgorithmException: Algorithm DH not available
at com.jcraft.jsch.Session.connect(Session.java:558)
at com.lenovo.datahub.batch.utils.ExecCmdUtil.execCmd(ExecCmdUtil.java:59)
at com.lenovo.datahub.batch.utils.ExecCmdUtil.execCmd(ExecCmdUtil.java:31)
at com.lenovo.datahub.batch.service.TestClass.main(TestClass.java:33)
原因:
DH算法无效
解决方案:
1. 修改java.security文件
security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider
# 前面的数字依次增加
C:\Program Files\Java\jdk1.8.0_101\jre\lib\security\java.security
2. 加入jar包 bcprov-jdk16-1.46.jar,下面是maven依赖,可以自行下载
http://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk16/1.46
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk16</artifactId>
<version>1.46</version>
</dependency>