下面是我的代码,当我在IDE中运行这些代码时效果很好,但是当我在dos命令中运行时,它会给我一个Null Pointer Exception错误。请帮帮忙。 谢谢!
//first get the classLoader
ClassLoader classLoader = TestMainPath.class.getClassLoader();
//show message
System.out.println("loader=" + classLoader);
//
URL r = classLoader.getResource("TestMainPath/TestMainPath.class");
System.out.println("r=" + r);
String mainPath =r.getPath();
System.out.println(mainPath);
File sf = new File(mainPath + "/main/newfile");
System.out.println(sf.getPath());
System.out.println(sf.exists());
答案 0 :(得分:4)
您的问题仅仅是因为您的IDE没有像您那样启动应用程序。在您的情况下,差异在类路径上。 检查IDE如何启动程序,它使用哪个类路径。从命令行启动时,还要确认您的类文件确实在您期望的位置。