相关疑难解决方法(0)

getResourceAsStream在新环境下失败了吗?

你好,

我有以下代码行:

InputStream passoloExportFileInputStream = getClass().getClassLoader().getResourceAsStream("/com/thinkplexx/lang/de/general.xml");
Run Code Online (Sandbox Code Playgroud)

我知道使用com/thinkplexx/lang/de/general.xml的jar在classpath中.

它工作在"以前的环境"下,即maven2 build.

现在,我评估maven3,它不起作用!我知道,如果我将代码更改为:

InputStream passoloExportFileInputStream = getClass().getClassLoader().getResourceAsStream("com/thinkplexx/lang/de/general.xml");
Run Code Online (Sandbox Code Playgroud)

它工作得很好(我刚从资源路径中删除了第一个斜杠).

顺便说一句,我使用的是Linux.路径中的第一个斜杠通常意味着"从根目录",所以如果这个逻辑对于java资源加载也是合理的,那么第一个示例应该永远不会有效!

问题:第一个代码示例有问题,即使用/ com /而不是com /?这只是糟糕的代码还是意味着不同的东西?

谢谢!

java resources classloader

6
推荐指数
1
解决办法
5392
查看次数

标签 统计

classloader ×1

java ×1

resources ×1