jar中未找到java文件异常
public class ABC {
public ABC() {
File file = new File("xyz.xml");
但当我按如下方式运行我的jar时:
java -jar filename.jar arguments....
然后显示错误:
java.lang.IllegalArgumentException: InputStream cannot be null
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:120)
at com.ensarm.niidle.web.proxy.ABC.<init>(ABC.java:47)
我怎样才能修好它
# 1 楼答案
您是否将xml文件放在jar文件的根目录下?如果使用类似于“/Element.xml”的路径,jar文件结构应该如下所示:
jar文件
# 2 楼答案
NullPointerException明确表示未找到该文件
您的XML文件在哪里?如果您将它与ABC放在同一个包(jar文件中的目录)中。类,则它应该是
Element.xml
,不带前导斜杠# 3 楼答案
通常,您可以按照建议使用InputStream,但如果您想对文件执行进一步的非java操作,例如使用外部应用程序对其进行解密等,则可以使用FileOutputStream将此流写入文件,然后将其路径用作正确的文件路径。简单地说,您可以取消将此文件绑定到您的文件系统
# 4 楼答案
若需要读取JAR中的文件内容,则不能直接使用file类。 使用ClassLoader加载它: