I thought you might like to have a minimal use case that will trigger the exception:
import com.enterprisedt.net.ftp.SecureFileTransferClient;
public class FtpClient {
public static void main( final String[] args ) throws com.enterprisedt.net.ftp.FTPException, java.io.IOException {
final SecureFileTransferClient client = new SecureFileTransferClient(1, 1);
client.setProtocol( com.enterprisedt.net.ftp.Protocol.SFTP );
client.getAdvancedSSHSettings().setAuthenticationType( com.enterprisedt.net.ftp.ssh.SSHAuthenticationType.PASSWORD );
// This triggers the Java 6 flavor IOException... failing to do the following call
// client.getAdvancedSSHSettings().getSSHServerValidator().addKnownHost( server, file.getAbsolutePath() );
client.setServerValidationEnabled( true );
client.getAdvancedFTPSettings().setConnectMode( com.enterprisedt.net.ftp.FTPConnectMode.PASV );
client.setRemoteHost( "scsapq27.mydomain.com" );
client.setRemotePort( 22 );
client.setUserName( "myusername" );
client.setPassword( "mypassword" );
client.connect();
}
}
The above, when run under Java 5, generates the following exception:
E:\Berny\Test>C:\PF64\Java\jdk1.5.0_16\bin\java -cp ".;edtftpj-pro.4.6.1.jar;license.jar" FtpClient
Exception in thread "main" com.enterprisedt.net.ftp.FTPException: java.io.IOException: method <init>(Ljava/lang/String;Ljava/lang/Throwable;)V not found
at com.enterprisedt.net.ftp.async.AsyncResult.endAsyncInternal(AsyncResult.java:315)
at com.enterprisedt.net.ftp.async.ConnectResult.endAsync(ConnectResult.java:116)
at com.enterprisedt.net.ftp.SecureFileTransferClient.connect(SecureFileTransferClient.java:765)
at FtpClient.main(FtpClient.java:18)