如何在罐妥善包装资源如何在罐妥善包装资源(How to package resources in J

2019-05-12 11:47发布

我知道还有其他的问题,那里针对相同的问题,但事情是,该解决方案没有为我工作。 我有一个小工具,它应该读我想有文件和包裹的资源,并依赖于其他项目(我使用Eclipse太阳神),我很想有作为罐子,而不是单一类。

作为在Eclipse的应用程序,我可以通过访问我的资源

String path = MyClass.class.getClassLoader().getResource("resources/" + name + ".SOURCE").getPath();
System.out.println(path);
File file = new File(MyClass.class.getClassLoader().getResource("resources/" + name + ".SOURCE").toURI());
defaultSource = readSOURCEFile(file);

当且仅当我把资源文件夹的输出路径(编译源)下要是我把它放在我的src文件夹中。

当我包的项目,在根文件夹或类文件夹资源不是在所有包装。 如果我有足够的资源在我src文件夹中得到它在src /资源的包装。

我用导出 - 运行的JAR,我究竟做错了什么? 如果我尝试出口 - 罐,我可以包我的消息来源和资源正常,但我有问题,与设置主类,不能执行的罐子。 该清单是正确的,并且类是有:-(。

问题二:在包装罐子我得到的错误:URI是不分层(后我搬到罐子中的资源手动我可以执行的JAR)

提前致谢!

我有联系的人士进入工作区是一个问题?

Answer 1:

马克的resource项目的根文件夹下的文件夹作为Eclipse的一个“源文件夹”(右键单击该文件夹,进入“构建路径”>“使用源文件夹”)。 然后阅读像这样的资源:

InputStream is = MyClass.class.getClassLoader().getResourceAsStream(name + ".SOURCE");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line = reader.readLine();


文章来源: How to package resources in Jar properly