我在Eclipse中有一个Java应用程序,它引用.XML文件作为其他功能的模板。通常我不打包这些文件中的.jar文件,因为将它们放在同一文件夹中的.jar文件中似乎做工精细与此引用:从与应用程序相同的JAR文件中引用文件
File myFile = new File("templates/templateA.xsd");
我现在要求这些模板被放置在同一个。 JAR文件作为这个应用程序。我可以包括他们没有问题,但这些参考不再起作用。
在应用程序运行的相同.JAR中是否有正确的方式引用.XML文件?
我在这里有同样的问题,我在上面的评论中提到。用我当前的文件层次结构,我总是以null输入流结束。 – ricgeorge 2013-03-22 09:58:20
这是因为路径相对于.java,它在'this.getClass()。getResourceAsStream(“templates/templateA.xsd”)'中执行'.getClass()'。 您可以尝试使用System类:'System.getClass()。getResourceAsStream(“templates/templateA.xsd”)''或简单地将资源文件放在与使用它的java类相同的目录中,并使用'this。的getClass()。的getResourceAsStream( “templateA.xsd”)”。 – user2147970 2013-03-22 10:13:38
使用系统给我一个有关从非静态方法getClass()进行静态引用的错误。移动文件不幸的是不是一个真正的选择。 – ricgeorge 2013-03-22 10:37:51