Нужна помощь с проблемой. В одном из моих классов Java мне нужно получить доступ к файлу. Файл должен находиться в том же месте (в исходном коде), что и рассматриваемый класс java. Вот выдержка из кода.Cant файл для чтения в исходном коде
String fileName = "myfile.myext"
resource = "./" + fileName
String fileContent = IOUtils.toString(clazz.getResourceAsStream(resource));
И это хорошо работает в моей коробке разработчиков в Eclipse. Однако, как только я положил его на Jenkins (это мой CI-сервер), он не работает. Я проверил следующее
- Файл «myfile.myext» существует в банке, который был развернут на Дженкинс.
- Код Дженкинса не только не найден «myfile.myext», но он не находит «someOther.class», если я попытаюсь прочитать содержимое 8 класса таким образом. Здесь «someOther.class» является фактическим классом, который является частью кода.
Несколько вещей, которые могут иметь отношение
- Материал, который развертывается в Дженкинс является «myProduct.jar» и «myProduct_test.jar». Мои юниты находятся только в «myProduct_test.jar», а не в «myProduct.jar». Напротив, весь мой код продукта находится только в «myProduct.jar», а «myProduct_test.jar» просто использует эту банку из classpath.
Net net, in Jenkins Я не могу получить тестовые файлы, чтобы прочитать файл с базы кода. В Eclipse я могу.
Кто-нибудь сталкивался/решал это раньше?