使用 Apache Commons VFS 进行 SFTP 上传时出现空指针异常

2024-01-12

我有使用 SFTP 将文件上传到远程服务器的代码。我正在使用 Kotlin/Java 和 Apache commons 库。

val manager = StandardFileSystemManager()
manager.init()
...
val tempFile: File = File ("/test.txt")

我正在按照这个例子here https://stackoverflow.com/questions/21399561/sftp-upload-download-exist-and-move-using-apache-commons-vfs/21399562。但是我收到以下错误manager.init() call

java.lang.NullPointerException: Cannot invoke 
"java.nio.file.attribute.BasicFileAttributes.lastModifiedTime()" because 
"this.attrs" is null

堆栈跟踪

0 = {StackTraceElement@4220} "java.base/java.util.zip.ZipFile$Source$Key.hashCode(ZipFile.java:1235)"
1 = {StackTraceElement@4221} "java.base/java.util.HashMap.hash(HashMap.java:338)"
2 = {StackTraceElement@4222} "java.base/java.util.HashMap.getNode(HashMap.java:568)"
3 = {StackTraceElement@4223} "java.base/java.util.HashMap.get(HashMap.java:556)"
4 = {StackTraceElement@4224} "java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1271)"
5 = {StackTraceElement@4225} "java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:709)"
6 = {StackTraceElement@4226} "java.base/java.util.zip.ZipFile.<init>(ZipFile.java:243)"
7 = {StackTraceElement@4227} "java.base/java.util.zip.ZipFile.<init>(ZipFile.java:172)"
8 = {StackTraceElement@4228} "java.base/java.util.jar.JarFile.<init>(JarFile.java:347)"
9 = {StackTraceElement@4229} "java.base/sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:103)"
10 = {StackTraceElement@4230} "java.base/sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:72)"
11 = {StackTraceElement@4231} "java.base/sun.net.www.protocol.jar.JarFileFactory.getOrCreate(JarFileFactory.java:106)"
12 = {StackTraceElement@4232} "java.base/sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:132)"
13 = {StackTraceElement@4233} "java.base/sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:175)"
14 = {StackTraceElement@4234} "org.apache.commons.vfs2.util.CombinedResources.loadResources(CombinedResources.java:85)"
15 = {StackTraceElement@4235} "org.apache.commons.vfs2.util.CombinedResources.init(CombinedResources.java:48)"
16 = {StackTraceElement@4236} "org.apache.commons.vfs2.util.CombinedResources.handleGetObject(CombinedResources.java:123)"
17 = {StackTraceElement@4237} "java.base/java.util.ResourceBundle.getObject(ResourceBundle.java:555)"
18 = {StackTraceElement@4238} "java.base/java.util.ResourceBundle.getString(ResourceBundle.java:521)"
19 = {StackTraceElement@4239} "org.apache.commons.vfs2.util.Messages.findMessage(Messages.java:93)"
20 = {StackTraceElement@4240} "org.apache.commons.vfs2.util.Messages.getString(Messages.java:76)"
21 = {StackTraceElement@4241} "org.apache.commons.vfs2.util.Messages.getString(Messages.java:60)"
22 = {StackTraceElement@4242} "org.apache.commons.vfs2.impl.DefaultFileReplicator.init(DefaultFileReplicator.java:180)"
23 = {StackTraceElement@4243} "org.apache.commons.vfs2.impl.PrivilegedFileReplicator$InitAction.run(PrivilegedFileReplicator.java:127)"
24 = {StackTraceElement@4244} "java.base/java.security.AccessController.doPrivileged(AccessController.java:569)"
25 = {StackTraceElement@4245} "org.apache.commons.vfs2.impl.PrivilegedFileReplicator.init(PrivilegedFileReplicator.java:83)"
26 = {StackTraceElement@4246} "org.apache.commons.vfs2.impl.DefaultFileSystemManager.setupComponent(DefaultFileSystemManager.java:434)"
27 = {StackTraceElement@4247} "org.apache.commons.vfs2.impl.DefaultFileSystemManager.setReplicator(DefaultFileSystemManager.java:393)"
28 = {StackTraceElement@4248} "org.apache.commons.vfs2.impl.StandardFileSystemManager.init(StandardFileSystemManager.java:94)"

这里可能有什么问题?是因为科特林吗?我缺少什么?

Thanks


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Apache Commons VFS 进行 SFTP 上传时出现空指针异常 的相关文章

随机推荐