我正在调试过程中,并希望将其设置为环境路径包含文件夹中的所有路径,因为我尝试运行的程序不合作并且给出了非常模糊的错误,如:
取消图片的未捕获错误:java.lang.NullPointerException at sun.awt.image.URLImageSource.getConnection(未知来源)at sun.awt.image.URLImageSource.getDecoder(未知来源)at sun.awt.image.InputStreamImageSource.doFetch(未知来源)at sun.awt.image.ImageFetcher.fetchloop(未知来源)at sun.awt.image.ImageFetcher.run(未知来源)
此文件夹包含许多子文件夹和子文件夹的子文件夹 - 是否有一种简单的方法可以将所有这些路径放入PATH环境变量中?我相信环境变量不包含子文件夹,我是否正确?我正在使用Windows XP,如果有帮助的话。
非常感谢你的时间。
答案 0 :(得分:2)
你几乎肯定会以错误的方式解决这个问题:
“PATH”变量是命令shell用于查找可执行文件的变量。不是JAR文件,不是.class文件,不是源代码,不是数据文件。只是可执行文件。
您的异常不是由缺少可执行文件引起的。
堆栈跟踪中的信息缺乏不是由于缺少可执行文件引起的。
所以在你的PATH变量中添加一堆东西是没有用的。
但要回答你的问题:
有一种简单的方法可以将所有这些路径放入PATH环境变量吗?
我不知道Windows。对于Linux,您可以使用find
等一些简单的脚本执行此操作。但是根据我的经验,这样的东西在Windows上并不那么容易。
我认为环境变量不包含子文件夹,我是否正确?
这不是一个有意义的问题。环境变量包括您放入其中的任何字符。他们既不知道也不关心这些人物的意思。
另一方面,Windows和Unix / Linux命令shell将PATH环境解释作为要搜索命令的目录列表。标准shell不搜索PATH目录的子目录。 (从理论上讲,你可以实现一个shell,如果你这么做的话可以做到这一点,并有几周/几个月/年的业余时间来完成它。)
答案 1 :(得分:1)
您必须了解向PATH添加目录时会发生什么。每次尝试调用可执行文件(未指定绝对路径)时,全部将按顺序搜索PATH中的目录,直到找到与该名称匹配的可执行文件。你真的想要那种详尽的搜索吗?
没有软件如此复杂,您会强迫您在PATH中包含一个庞大的目录层次结构。大多数项目可能有一个或少数包含二进制图像的目录。我的建议是找到你需要的确切目录!
答案 2 :(得分:-1)
我找到了我的问题的答案,只是想与你分享想要发生的事情,以防将来帮助一个可怜的灵魂。
Uncaught error fetching image: java.lang.NullPointerException
超级模糊。它表明图像丢失了。在执行程序时,我不得不添加2个类路径但在最后一个末尾忘记了一个逗号。因此,当我添加逗号时,程序似乎运行愉快。
例如: java -cp“/ path / to / binfile”;“/ path / to / anotherbinfile”name.name1.name2.name2 给了我错误。
java -cp“/ path / to / binfile”;“/ path / to / anotherbinfile”; name.name1.name2.name2 修好了。