JavaFX按钮触发SSHJ连接

JavaFX按钮触发SSHJ连接,javafx,sshj,Javafx,Sshj,这应该很简单,但我不确定我做错了什么。 我有一个带有按钮的基本GUI。 按下该按钮后,我想启动SSH连接 @FXML private void handleButtonAction(ActionEvent event) throws IOException { // Button was clicked, do something... System.out.println("click"); final SSHClient s

这应该很简单,但我不确定我做错了什么。 我有一个带有按钮的基本GUI。 按下该按钮后,我想启动SSH连接

  @FXML
     private void handleButtonAction(ActionEvent event) throws IOException {
         // Button was clicked, do something...
         System.out.println("click");
         final SSHClient ssh = new SSHClient();
         System.out.println("ok1");
当我单击按钮时,我得到下面的调试代码-我没有通过初始化ssh-请帮助:

点击

线程“JavaFX应用程序线程”java.lang.RuntimeException中的异常:java.lang.reflect.InvocationTargetException 在javafx.fxml.fxmloader$MethodHandler.invoke处(未知源) 位于javafx.fxml.fxmloader$ControllerMethodEventHandler.handle(未知源) 位于com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(未知源) 位于com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(未知源) 位于com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(未知源) 位于com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(未知源) 位于com.sun.javafx.event.basicEventDispatchEvent(未知源) 位于com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(未知源) 位于com.sun.javafx.event.basicEventDispatchEvent(未知源) 位于com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(未知源) 位于com.sun.javafx.event.basicEventDispatchEvent(未知源) 位于com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(未知源) 位于com.sun.javafx.event.basicEventDispatchEvent(未知源) 位于com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(未知源) 位于com.sun.javafx.event.EventUtil.fireEventImpl(未知源) 位于com.sun.javafx.event.EventUtil.firevent(未知源) 位于javafx.event.event.fireEvent(未知源) 位于javafx.scene.Node.fireEvent(未知源) 位于javafx.scene.control.Button.fire(未知源) 位于com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(未知源) 位于com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(未知来源) 位于com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(未知来源) 位于com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(未知源) 位于com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(未知源) 位于com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(未知源) 位于com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(未知源) 位于com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(未知源) 位于com.sun.javafx.event.basicEventDispatchEvent(未知源) 位于com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(未知源) 位于com.sun.javafx.event.basicEventDispatchEvent(未知源) 位于com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(未知源) 位于com.sun.javafx.event.basicEventDispatchEvent(未知源) 位于com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(未知源) 位于com.sun.javafx.event.basicEventDispatchEvent(未知源) 位于com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(未知源) 位于com.sun.javafx.event.EventUtil.fireEventImpl(未知源) 位于com.sun.javafx.event.EventUtil.firevent(未知源) 位于javafx.event.event.fireEvent(未知源) 位于javafx.scene.scene$MouseHandler.process(未知源) 位于javafx.scene.scene$MouseHandler.access$1500(未知源) 位于javafx.scene.scene.impl_processMouseEvent(未知源) 位于javafx.scene.scene$ScenePeerListener.mouseEvent(未知源) 位于com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(未知源) 位于com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(未知源) 位于java.security.AccessController.doPrivileged(本机方法) 位于com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(未知源) 位于com.sun.glass.ui.View.handleMouseEvent(未知源) 位于com.sun.glass.ui.View.notifyMouse(未知源) 在com.sun.glass.ui.win.WinApplication.\u runLoop(本机方法) 在com.sun.glass.ui.win.WinApplication.lambda$null$141(未知来源) 在com.sun.glass.ui.win.WinApplication$$Lambda$37/15096457.run(未知来源) 位于java.lang.Thread.run(未知源) 原因:java.lang.reflect.InvocationTargetException 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(未知源) 在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源) 位于java.lang.reflect.Method.invoke(未知源) at sun.reflect.misc.Trampoline.invoke(未知源) 在sun.reflect.GeneratedMethodAccessor1.invoke处(未知源) 在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源) 位于java.lang.reflect.Method.invoke(未知源) 位于sun.reflect.misc.MethodUtil.invoke(未知源) ... 52多 原因:java.lang.NoClassDefFoundError:org/slf4j/LoggerFactory 位于net.schmizz.sshj.DefaultConfig.(DefaultConfig.java:97) 位于net.schmizz.sshj.SSHClient.(SSHClient.java:136) 位于application.view.SecureConnectController.HandleButtoAction(SecureConnectController.java:38) ... 61多 原因:java.lang.ClassNotFoundException:org.slf4j.LoggerFactory 位于java.net.URLClassLoader$1.run(未知源) 位于java.net.URLClassLoader$1.run(未知源) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) 位于sun.misc.Launcher$AppClassLoader.loadClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) ... 64多
如果您进一步查看堆栈跟踪。。。缺少slf4j,这是SSHJ项目的依赖项

Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory

Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory