[
https://issues.apache.org/jira/browse/VFS-747?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gopal Warawate updated VFS-747:
-------------------------------
Docs Text: https://issues.apache.org/jira/browse/VFS-617
Affects Version/s: 2.2
2.4.1
> org.apache.commons.vfs2.FileSystemException: Could not determine if file
> "sftp://!!!!!:***@XXXXX/C:/folder1" is writeable.
> --------------------------------------------------------------------------------------------------------------------------
>
> Key: VFS-747
> URL: https://issues.apache.org/jira/browse/VFS-747
> Project: Commons VFS
> Issue Type: Bug
> Affects Versions: 2.2, 2.4.1
> Reporter: Gopal Warawate
> Priority: Major
>
> Below simple code using moveTo Api from vfs2 use to work with
> commons-vfs2-2.0.jar but it doesn’t work with version commons-vfs2-2.2.jar
> it works perfectly fine with SFTP server running on LINUX, only it failse on
> SFTP server running on windows server.
> Please any suggestions.
>
> ls command show as below on both server:
> Windows :
> sftp> ls -l
> -rw-rw---- 1 no-user no-group 86 Nov 20 11:03 test.txt
> Linux:
> sftp> ls -l
> -rwxr-xr-x 1 userttest dba 86 Nov 20 11:05 test.txt
>
> Code sample:
> public static boolean move(String hostName, String username, String password,
> String remoteSrcFilePath, String remoteDestFilePath){
> StandardFileSystemManager manager = new StandardFileSystemManager();
> try {
> manager.init();
> // Create remote object
> FileObject remoteFile = manager.resolveFile(createConnectionString(hostName,
> username, password, remoteSrcFilePath), createDefaultOptions());
> FileObject remoteDestFile =
> manager.resolveFile(createConnectionString(hostName, username, password,
> remoteDestFilePath), createDefaultOptions());
> if (remoteFile.exists())
> { remoteFile.moveTo(remoteDestFile);; System.out.println("Move remote file
> success"); return true; }
> else
> { System.out.println("Source file doesn't exist"); return false; }
> } catch (Exception e)
> { throw new RuntimeException(e); }
> finally
> { manager.close(); }
> }
>
> Error:
> [main] INFO org.apache.commons.vfs2.provider.sftp.SftpClientFactory -
> Authentication succeeded (keyboard-interactive).
> 'id' is not recognized as an internal or external command,
> operable program or batch file.
> [main] INFO org.apache.commons.vfs2.provider.sftp.SftpClientFactory -
> Disconnecting from XXXXX port 22
> Exception in thread "main" java.lang.RuntimeException:
> org.apache.commons.vfs2.FileSystemException: Could not determine if file
> "sftp://!!!!!:***@XXXXX/C:/folder1" is writeable.
> at com.test.SFTPUtility.move(SFTPUtility.java:107)
> at com.test.SFTPUtility.main(SFTPUtility.java:35)
> Caused by: org.apache.commons.vfs2.FileSystemException: Could not determine
> if file "sftp://!!!!!:***@XXXXX/C:/folder1" is writeable.
> at
> org.apache.commons.vfs2.provider.AbstractFileObject.isWriteable(AbstractFileObject.java:1602)
> at
> org.apache.commons.vfs2.provider.AbstractFileObject.moveTo(AbstractFileObject.java:1646)
> at com.test.SFTPUtility.move(SFTPUtility.java:98)
> ... 1 more
> Caused by: com.jcraft.jsch.JSchException: Could not get the groups id of the
> current user (error code: 1)
> at
> org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getGroupsIds(SftpFileSystem.java:237)
> at
> org.apache.commons.vfs2.provider.sftp.SftpFileObject.getPermissions(SftpFileObject.java:231)
> at
> org.apache.commons.vfs2.provider.sftp.SftpFileObject.doIsWriteable(SftpFileObject.java:263)
> at
> org.apache.commons.vfs2.provider.AbstractFileObject.isWriteable(AbstractFileObject.java:1594)
> ... 3 more
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)