Javac не видит внешние библиотеки - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь скомпилировать небольшое приложение для проверки соединения JSCH в Windows 10 под управлением Java 1.6.Существует только один исходный файл Java.Она импортирует библиотеку JSCH, однако во время компиляции я получаю сообщение об ошибке «package com.jcraft.jsch не существует» в каждом операторе импорта и «not find symbol» в каждой ссылке.

Я пытался ...

javac JSchTest.java  
javac -cp . JSchTest.java  
javac -classpath . JSchTest.java  
javac -cp jsch-0.1.44.jar JSchTest.java  
javac -cp lib\jsch-0.1.44.jar JSchTest.java  
javac -cp *.jar JSchTest.java  
javac -cp "lib\*" JSchTest.java  
javac -cp "lib\*:." JSchTest.java  

Мой код ...

import java.io.*;
import java.net.*;
import java.util.Properties;
import com.jcraft.jsch.*;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.ChannelSftp.LsEntry;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpException;

public class JSchTest {
  private JSch jsch = null;
  private Session session = null;
  private Channel ch = null;
  private ChannelSftp chsftp = null;
  private String user = "username";
  private String code = "password";
  private String host = null;
  private static PrintStream out = System.out;

  public JSchTest() {
    jsch = new JSch();

    if(getConnected()) {
      out.println("Connection successful");
      chsftp.disconnect();
      session.disconnect();
    } else out.println("Error: Failed to connect to server\n");

    out.println("\nExiting...");
    chsftp = null;
    ch = null;
    session = null;
    jsch = null;
    System.exit(0);
  }

  /** This routine creates an sftp connection with the remote host. */
  public boolean getConnected() {
    int port = 22;

    try {
      session = jsch.getSession(user, host, port);
      session.setPassword(code);
      java.util.Properties config = new java.util.Properties();
      config.put("StrictHostKeyChecking", "no");
      session.setConfig(config);
      session.connect();
      ch = session.openChannel("sftp");
      ch.connect();
      chsftp = (ChannelSftp)ch;
      return true;
    } catch (JSchException jse) {
      out.println("JSchException: Error connecting to server " + host + ": " + jse);
    }

    return false;
  }

  public static void main(String[] args) {
    new JSchTest();
  }
}

Когда я бегу ...

javac -cp jsch-0.1.44.jar JSchTest.java

Я получаю ...

JSchTest.java:6: package com.jcraft.jsch does not exist  
import com.jcraft.jsch.*;  
...