0

各位小伙伴:看到这个关于码头的异常,我很困惑。

Exception in thread "Scanner-1" java.lang.NullPointerException
at org.eclipse.jetty.util.Scanner.scanFile(Scanner.java:576)
at org.eclipse.jetty.util.Scanner.scanFiles(Scanner.java:438)
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:397)
at org.eclipse.jetty.util.Scanner$1.run(Scanner.java:348)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Exception in thread "Scanner-0" java.lang.NullPointerException
at org.eclipse.jetty.util.Scanner.scanFile(Scanner.java:576)
at org.eclipse.jetty.util.Scanner.scanFiles(Scanner.java:438)
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:397)
at org.eclipse.jetty.util.Scanner$1.run(Scanner.java:348)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)

Scanner.java 的源代码是:

// If it is a directory, scan if it is a known directory or the depth is OK.
    573            if (f.isDirectory() && (depth<_scanDepth || _scanDepth==-1 ||        
    _scanDirs.contains(f)))
    574            {
    575                File[] files = f.listFiles();
    576                for (int i=0;i<files.length;i++)
    577                    scanFile(files[i], scanInfoMap,depth+1);
    578            }
    579        }

第576行代码如何发生nullpointer异常?

码头版本:8.1.3.v20120416

需要你们的帮助,3q太糊涂了。

4

2 回答 2

0

我最近遇到了同样的错误。我所做的是对打开的最大文件数设置操作系统限制。

这可以通过添加以下行在 /etc/security/limits.conf 中设置:

* soft nofile 65536
* hard nofile 65536

然后重新启动服务器。

* 表示此设置适用于所有用户。您可以输入用于运行 Jetty 进程的特定用户。值 65536 指定可以打开的最大文件数(nofile)。可以通过查看 limits.conf 手册页找到此设置的详细信息。

于 2013-10-13T17:34:19.750 回答
0

在第 576 行,files为空,这意味着f为空。

请检查是否f成功实例化。

于 2013-06-28T05:05:12.633 回答