当前位置: 首页 > 面试题库 >

为什么詹金斯无法加载资源?

程飞星
2023-03-14
问题内容

这是我的项目的布局:

src/
  test/
    resources/
        ares/
          file1.xml
          file2.xml

这是Jenkins工作区的布局:

 my-module/
   target/
     test-classes/
       ares/
         file1.xml
         file2.xml

在eclipse下,测试运行没有任何错误。在詹金斯身上,测试只是失败了。Jenkins无法找到资源。以下是测试执行的一些输出:

eclipse

MyClass.class.getResourceAsStream(/ares/file1.xml) => java.io.BufferedInputStream@4f4b2f1a
MyClass.class.getResourceAsStream(ares/file1.xml) => null

Thread.currentThread().getContextClassLoader().getResourceAsStream(/ares/file1.xml) => null
Thread.currentThread().getContextClassLoader().getResourceAsStream(ares/file1.xml) => java.io.BufferedInputStream@5d402eeb

MyClass.class.getClassLoader().getResourceAsStream(/ares/file1.xml) => null
MyClass.class.getClassLoader().getResourceAsStream(ares/file1.xml) => java.io.BufferedInputStream@20c87621

Jenkins

MyClass.class.getResourceAsStream(/ares/file1.xml) => null
MyClass.class.getResourceAsStream(ares/file1.xml) => null

Thread.currentThread().getContextClassLoader().getResourceAsStream(/ares/file1.xml) => null
Thread.currentThread().getContextClassLoader().getResourceAsStream(ares/file1.xml) => null

MyClass.class.getClassLoader().getResourceAsStream(/ares/file1.xml) => null
MyClass.class.getClassLoader().getResourceAsStream(ares/file1.xml) => null

如您所见,Jenkins找不到我的资源。

我想念什么?


问题答案:

我终于解决了我的问题。在类路径上,该文件是/ares/file1.xml在我的代码中调用该文件时命名的/ares/file1.XML。您注意到大写了XML吗?

在Windows上,没有区别,因为文件名不区分大小写。在Linux上,失败是因为文件名区分大小写。

最终的想法是,当您在与目标平台不同的平台上进行编码时,首选小写文件名



 类似资料:
  • 有没有可能让詹金斯使用真正的浏览器而不是无头浏览器?我正在运行一些用TestNG编写的测试(使用Selenium webdriver)。当我运行testng时。在Eclipse中,浏览器启动并运行测试。但当我使用Jenkins并用maven运行测试时,它不会启动任何浏览器。

  • 我有一个jenkins管道,它加载如下groovy实用程序脚本: 当我在主节点上执行管道时,一切都很好。在这种情况下,我可以在管道中使用类Utils中的方法。 当我试图在一个从系统中执行管道时,我的问题出现了。在这种情况下,上述负载会导致错误 Java语言io。IOException:java。io。FileNotFoundException:/var/lib/jenkins/utils/util

  • 问题内容: 我正在使用Hudson克隆Git存储库并进行构建。我收到以下错误: 这很奇怪,因为我不希望哈德森做出任何承诺。它只能拉动并编译。 有什么问题,我该如何解决? 问题答案: 在“源代码管理”部分的“高级…”下检查“跳过内部标签”配置。 它将跳过标记。

  • 问题内容: 如何轻松地将Jenkins与qUnit集成?我将使用真正的浏览器(如firefox和chrome)运行测试。我的服务器在RedHat 6.1 Linux上运行。我想我都需要插件/库,但我仍然不知道如何使其工作。我第一次与Jenkins合作(在服务器端)。 //编辑: 如果有人也可以共享想法如何构建覆盖率报告,那将是很棒的。 提前致谢 :)。 问题答案: 说詹金斯和QUnit只是难题的一

  • 我想做一些非常简单的事情,在一个文件夹中,我有一个jar文件和一个包含脚本的名为脚本的文件夹。但我可以让詹金斯拉链来做这件事。 zip目录:“awsdeploy”,排除:“”,glob:“”,“scripts/”,zipFile:“SQSToElasticProcessor.zip” 必须显式命名“zip”的参数。@ 第 31 行,第 16 列。

  • 问题内容: 我有一个简单的maven项目,其中包含一些常用的测试工具。它在本地构建,但是在詹金斯上,我遇到了这个奇怪的错误(见下文)。 其他资讯: 它使用Maven在本地构建 设置与我们所有其他詹金斯项目相同(非常基本) 其他詹金斯版本工作正常 我尝试删除/root/.jenkins/workspace/testtools文件夹 我尝试删除该版本并为其重新命名 磁盘未满 我没有找到其他有关此特定问