需要一些帮助来解决问题。在我的一个 java 类中,我需要访问一个文件。该文件必须与所讨论的 java 类位于同一位置(在源代码中)。这是代码的摘录。
String fileName = "myfile.myext"
resource = "./" + fileName
String fileContent = IOUtils.toString(clazz.getResourceAsStream(resource));
这在我的 Eclipse 开发框中工作得很好。然而,当我把它放在 Jenkins(这是我的 CI 服务器)上的那一刻,它就不起作用了。我检查了以下内容
- 文件“myfile.myext”存在于部署在 Jenkins 上的 jar 中。
- 如果我尝试以这种方式读取类的内容,Jenkins 代码不仅找不到“myfile.myext”,而且找不到“someOther.class”。这里的“someOther.class”是一个实际的类,它是一段代码。
一些可能相关的事情
- 在 Jenkins 中部署的东西是“myProduct.jar”和“myProduct_test.jar”。我的 Junits 仅在“myProduct_test.jar”中,而不在“myProduct.jar”中。相反,我所有的产品代码都只存在于“myProduct.jar”中,而“myProduct_test.jar”只是使用类路径中的那个 jar。
Net net,在 Jenkins 中,我无法从代码库中获取测试用例来读取文件。在 Eclipse 中我可以。
以前有人遇到过/解决过这个问题吗?