Тестирование SSHJ в Eclipse и все выглядит хорошо. Но когда я использую тени плагин Maven для упаковки SSHJ я получаю следующее сообщение об ошибке:SSHJ и плагин Maven shade
Exception in thread "main" net.schmizz.sshj.userauth.UserAuthException: Exhausted available authentication methods
at net.schmizz.sshj.SSHClient.auth(SSHClient.java:217)
at net.schmizz.sshj.SSHClient.authPublickey(SSHClient.java:316)
at net.schmizz.sshj.SSHClient.authPublickey(SSHClient.java:365)
at net.schmizz.sshj.SSHClient.authPublickey(SSHClient.java:295)
at no.f12.SshRepository.executeTaskOnHost(SshRepository.java:23)
at no.f12.SshService.serviceCommand(SshService.java:22)
at no.f12.App.main(App.java:29)
Добавление
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
изменения сообщения об ошибке на:
Exception in thread "main" net.schmizz.sshj.transport.TransportException: Unable to reach a settlement: [] and [aes128-ctr, aes192-ctr, aes256-ctr, arcfour256, arcfour128, [email protected], [email protected], aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, aes192-cbc, aes256-cbc, arcfour, [email protected]]
at net.schmizz.sshj.transport.Proposal.firstMatch(Proposal.java:165)
at net.schmizz.sshj.transport.Proposal.negotiate(Proposal.java:147)
at net.schmizz.sshj.transport.KeyExchanger.gotKexInit(KeyExchanger.java:239)
at net.schmizz.sshj.transport.KeyExchanger.handle(KeyExchanger.java:364)
at net.schmizz.sshj.transport.TransportImpl.handle(TransportImpl.java:478)
at net.schmizz.sshj.transport.Decoder.decode(Decoder.java:127)
at net.schmizz.sshj.transport.Decoder.received(Decoder.java:195)
at net.schmizz.sshj.transport.Reader.run(Reader.java:72)
Любая идея, как получить вокруг этого?
Немного фона, почему я хочу использовать тень ... Я пытаюсь добраться до точки, где использование Java и распространение небольших utils мертво просто. Поэтому я создаю действительно исполняемую банку, используя это: https://github.com/brianm/really-executable-jars-maven-plugin. Это позволяет мне создать один исполняемый файл для распространения и добавления к пути пользователя. Похоже, что Go имеет один двоичный файл со всеми зависимостями.
Код, который я использую, доступен здесь BTW: https://github.com/anderssv/executable-ssh-util –
Чтобы проверить работу: 'mvn -Passembly clean install && cd target &&/bin/bash bin/app services stop' –
Чтобы проверить отсутствие: 'mvn clean install && cd target && ./executable-ssh-util-1.0-SNAPSHOT.jar services stop' –