So legen Sie das Stammverzeichnis in Apache Mina Sshd Server in Java fest

Ich benutzeApache Mina Sshd API, um einen lokalen SFTP-Server in Java zu starten. In SFTP-Client verwende ichJcraft jsch API, um meinen SFTP-Client zu erstellen. Ich starte erfolgreich einen Server. Das Problem ist, dass ich einige Unit-Testfälle schreiben möchte, um zu prüfen, ob der Client einige Dateien in das Stammverzeichnis des Servers kopieren kann. Derzeit hat mein SFTP-Server kein Stammverzeichnis. Ich würde gerne wissen, dass es eine Möglichkeit gibt, das Stammverzeichnis des Servers festzulegen.

Z.B:C: \ sftp Wie kann ich diesen Pfad als mein Server-Stammverzeichnis festlegen. So kann der Client jedes Mal, wenn er eine Verbindung zum Server herstellt, Dateien lesen und darauf schreiben.

public class SftpServerStarter {
	
	private SshServer sshd;
	private final static Logger logger = LoggerFactory.getLogger(SftpServerStarter.class);
	
	public void start(){
		
		
		sshd = SshServer.setUpDefaultServer();
		sshd.setPort(22);
		sshd.setHost("localhost");
		
        sshd.setPasswordAuthenticator(new MyPasswordAuthenticator());
        sshd.setPublickeyAuthenticator(new MyPublickeyAuthenticator());
        sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider());
        sshd.setSubsystemFactories(Arrays.<NamedFactory<Command>>asList(new SftpSubsystem.Factory()));
        sshd.setCommandFactory(new ScpCommandFactory());
        
        

        try {
        	logger.info("Starting ...");
			sshd.start();
			logger.info("Started");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			logger.info("Can not Start Server");
		}
	}
	
}

Antworten auf die Frage(6)

Ihre Antwort auf die Frage