我有一个jar文件与资源(主要配置缓存,日志等),我想分发.
我对这些资源的相对路径有问题,所以我在另一个stackoverflow问题中找到了,这说明这是一个有效的方法:
ClassInTheSamePackageOfTheResource.class.getResourceAsStream('resource.xml');
可悲的是,这不行.
有任何想法吗?谢谢!
PS: Obviously I cannot use absolute
paths,and I’d like to avoid
environment variables if possible
解决方法
确保您的资源文件夹被列为项目设置中的源文件夹.此外,确保资源文件夹设置为导出当您构建您的jar.
您可以将.zip扩展名添加到您的jar文件中,然后将其打开,以确保您的资源被包含在预期的位置.
我总是使用这样的绝对路径:
InputStream input = this.getClass().getResourceAsStream("/image.gif");
当使用绝对路径时,“/”是jar文件中的根文件夹,而不是主机的根文件夹.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。