gpt4 book ai didi

java - 如何通过构建的 jar 正确放置和使用项目资源?

转载 作者:行者123 更新时间:2023-12-01 04:26:43 25 4
gpt4 key购买 nike

我有一个包含以下文件夹的项目:

资源/xml-schemata/someXMLschema.xsd

我的项目中的一个类在导入 xml 文件之前使用此 xml 架构来验证它们。

此类有一个局部变量,指出架构路径:

schemaFilePath = "resources" + File.separator + "xml-schemata" + File.separator + "someXMLschema.xsd"

当然这在本地有效。

现在我想把我的工具放在一个 jar 里送给其他人。

但是使用 jar 的项目找不到架构,可能有两件事:

  • jar 构建过程已删除 resources 文件夹,以便 xml-schemata 文件夹位于 jar 根文件夹中。
  • 该项目甚至不查看所用 jar 的内部,而是假设本地 resources/xml-schemata 文件夹。

其中哪一个可能是问题所在?我该如何解决它?

最佳答案

 File f1 = new File("..\\..\\..\\config.properties");  

尝试访问文件的路径位于项目目录中,然后像这样访问文件。

File f=new File("filename.txt");

如果您的文件位于OtherSources/Resources

this.getClass().getClassLoader().getResource("relative path");//-> relative path from resources folder

此外,最无能为力的是,读取并打印当前目录:

System.getProperty("user.dir");

这样你就会知道你需要的相对路径是什么,并且如果你试图从错误的路径读取或者你需要的资源不存在,你会更容易理解

关于java - 如何通过构建的 jar 正确放置和使用项目资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18440559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com