2017-01-11 5 views
0

У меня есть проект Spring Boot, который проходит все его тесты под командой mvn clean install в Windows 10. Такая же точная база кода, в отношении той же базы данных, имеет некоторые сбои тестового случая, когда исполнение mvn clean install в Ubuntu 16.04. Я проследил проблему в директории, которая не создается кодом внутри неудачного тестового примера, используя функцию mkdirs(). Я не знаю, почему, я имею в виду, у меня есть проект, поэтому я не думаю, что это вопрос с разрешениями. Я клонировал проект в Ubuntu из удаленного репозитория, используя встроенную функциональность Git Intellij IDEA. Многие из других тестовых случаев (сотни из них) проходят, но некоторые из них терпят неудачу, и все они связаны с этой проблемой mkdirs(). Чтобы повторить, проблема существует только в Ubuntu 16.04, а не в Windows 10, где проходят все тесты. Если вам нужна дополнительная информация, пожалуйста, дайте мне знать, что я предоставлю.Тесты Maven проходят в Windows 10, но сбой в Ubuntu 16.04

Есть ли способ решить проблему без изменения кода?

+0

Ubuntu имеет очень строгие разрешения по сравнению с окнами. Я предлагаю проверить разрешения на родительский каталог, где выполняется mkdirs(). – vvs

+0

Замените mkdirs файлами Files.createDirectories(). http://stackoverflow.com/a/12204054/3458 – Arkadiy

+0

@vvs drwxrwxr-x - это пермы. на родителя, а также на родителя. Я попытался сделать последнюю тройку rwx на родительском, но это не помогло. –

ответ

0

Я обнаружил, что проблема была установкой корневого каталога, заданной в файле конфигурации базы кода. Хотя этот корневой каталог будет открыто доступен на платформе Windows, на Ubuntu он был ограничен. Изменение настройки в файле конфигурации, чтобы указать на базовый каталог, где я знаю, что у меня было разрешение на запись, решило проблему.

Смежные вопросы