Skip to content

[Bug]: Process files step using VFS FTP command fails with java.lang.NoClassDefFoundError: org/apache/commons/net/ProtocolCommandListener #6221

@windrek

Description

@windrek

Apache Hop version?

2.16

Java version?

openjdk version "17.0.17" 2025-10-21 LTS

Operating system

Windows

What happened?

Process files step fails when trying to copy file to FTP server.
Operation is Copy.
Target filename is in format ftp://myusername:mypassword@somehost/pub/downloads/somefile.tgz
Source filename C:\data\test\filename.csv

I used same target filename in Pentoho 9.3 process files step (java 11) and it worked. So it is not FTP problem.

Error came out during migration from Pentaho to Hop.

2025/12/17 09:54:34 - Process files.0 - ERROR: Unexpected error
2025/12/17 09:54:34 - Process files.0 - ERROR: java.lang.NoClassDefFoundError: org/apache/commons/net/ProtocolCommandListener
2025/12/17 09:54:34 - Process files.0 - at org.apache.commons.vfs2.provider.ftp.FtpClientFactory.createConnection(FtpClientFactory.java:313)
2025/12/17 09:54:34 - Process files.0 - at org.apache.commons.vfs2.provider.ftp.FTPClientWrapper.createClient(FTPClientWrapper.java:123)
2025/12/17 09:54:34 - Process files.0 - at org.apache.commons.vfs2.provider.ftp.FTPClientWrapper.createClient(FTPClientWrapper.java:108)
2025/12/17 09:54:34 - Process files.0 - at org.apache.commons.vfs2.provider.ftp.FTPClientWrapper.getFtpClient(FTPClientWrapper.java:169)
2025/12/17 09:54:34 - Process files.0 - at org.apache.commons.vfs2.provider.ftp.FTPClientWrapper.(FTPClientWrapper.java:63)
2025/12/17 09:54:34 - Process files.0 - at org.apache.commons.vfs2.provider.ftp.FtpFileProvider.doCreateFileSystem(FtpFileProvider.java:71)
2025/12/17 09:54:34 - Process files.0 - at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.getFileSystem(AbstractOriginatingFileProvider.java:100)
2025/12/17 09:54:34 - Process files.0 - at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:60)
2025/12/17 09:54:34 - Process files.0 - at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:83)
2025/12/17 09:54:34 - Process files.0 - at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:795)
2025/12/17 09:54:34 - Process files.0 - at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:761)
2025/12/17 09:54:34 - Process files.0 - at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:826)
2025/12/17 09:54:34 - Process files.0 - at org.apache.hop.core.vfs.HopVfs.getFileObject(HopVfs.java:231)
2025/12/17 09:54:34 - Process files.0 - at org.apache.hop.pipeline.transforms.processfiles.ProcessFiles.processRow(ProcessFiles.java:105)
2025/12/17 09:54:34 - Process files.0 - at org.apache.hop.pipeline.transform.RunThread.run(RunThread.java:54)
2025/12/17 09:54:34 - Process files.0 - at java.base/java.lang.Thread.run(Thread.java:840)
2025/12/17 09:54:34 - Process files.0 - Caused by: java.lang.ClassNotFoundException: org.apache.commons.net.ProtocolCommandListener
2025/12/17 09:54:34 - Process files.0 - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
2025/12/17 09:54:34 - Process files.0 - at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
2025/12/17 09:54:34 - Process files.0 - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
2025/12/17 09:54:34 - Process files.0 - ... 16 more

Issue Priority

Priority: 2

Issue Component

Component: Transforms

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions