0

我搜索了很多,但找不到任何东西。我想用架构文件验证选定的 xml 文件。我的问题是工作相对路径是 Glassfish 服务器的配置文件夹。我试图获取我复制到运行此代码的类的同一个包中的架构文件的 url,但我仍然找不到该文件。我只能通过将文件复制到服务器配置文件中来使其工作。

URL url = ClassLoader.getSystemResource("/schema.xsd");
File file = new File(url.getPath());

但是 url 返回 null。我怎样才能找到这个文件,即使我发现我相信无法创建文件对象,因为我的相对路径是 /home/user/glassfish3/glassfish/domains/domain1/config。任何想法如何解决这个问题?感谢您提前提供任何帮助。

4

1 回答 1

0

前导斜杠使路径成为绝对路径。如果删除它,只保留文件名并将该文件放在 domain/config 目录中,那么它应该可以工作。

请注意,如果您想在其他地方使用此文件,您还可以提供一个相对路径,使您的目录树后退,例如 ../../prj/xsd/schema.xsd

于 2013-09-03T21:48:29.487 回答