You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gopal Warawate (Jira)" <ji...@apache.org> on 2019/11/21 06:26:00 UTC

[jira] [Created] (VFS-747) org.apache.commons.vfs2.FileSystemException: Could not determine if file "sftp://!!!!!:***@XXXXX/C:/folder1" is writeable.

Gopal Warawate created VFS-747:
----------------------------------

             Summary: 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
            Reporter: Gopal Warawate


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)