Я настроил проект arquillian, и все это отлично работает локально, но при запуске сборки maven в нашем блоке непрерывной интеграции происходит сбой. Мне удалось разобраться в проблеме, и это связано с тем, что файл maven user settings.xml в поле CI на самом деле имеет некоторые определения сервера (для другого проекта), тогда как локально для моей машины это файл по умолчанию (без определенных серверов ). Тесты вызывают RuntimeException, потому что MavenResolver ищет файл settings-security.xml, которого нет в поле CI.
Я бы предпочел не добавлять settings-security.xml, а вместо этого хотел бы предоставить распознавателю «пустой» файл settings.xml или, что еще лучше, сказать ему не использовать его. Это возможно?
Я попробовал ответ из этой темы https://developer.jboss.org/thread/174873, который в значительной степени говорит добавить следующую опцию в отказоустойчивый плагин:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.9</version><!-- or upper -->
<configuration>
<systemPropertyVariables>
<org.apache.maven.user-settings>nonExistentSetting.xml</org.apache.maven.user-settings>
</systemPropertyVariables>
</configuration>
</plugin>
Если я сделаю это и предоставлю файл xml, который не существует, все будет работать нормально из командной строки, запускающей «mvn clean install», но когда я отлаживаю в своей среде IDE, все равно происходит сбой.
Есть ли способ, которым я могу: Скажите распознавателю maven не использовать файл settings.xml/использовать файл «по умолчанию» Создайте пустой файл settings.xml в моем проекте и сообщите распознавателю maven использовать это
Я попробовал следующую строку в своем коде для создания моего архива, но, похоже, это не дало эффекта:
.addAsLibraries(Maven.configureResolver().fromFile("test-settings.xml").loadPomFromFile("pom.xml").importRuntimeDependencies().resolve().withTransitivity().asFile())
Спасибо за любую помощь, Крейг