Я занимаюсь разработкой проекта с использованием Spring-Cloud-Contract и отлично работает на локальном компьютере, однако, когда я запускаю проект в jenkins на aws, выдается исключение UnknownHostException.
сначала покажите это:
[ERROR] Failed to execute goal org.springframework.cloud:spring-cloud-contract-maven-plugin:2.2.2.RELEASE:generateTests (default-generateTests) on project proxy-api: Execution default-generateTests of goal org.springframework.cloud:spring-cloud-contract-maven-plugin:2.2.2.RELEASE:generateTests failed: An API incompatibility was encountered while executing org.springframework.cloud:spring-cloud-contract-maven-plugin:2.2.2.RELEASE:generateTests: java.lang.ExceptionInInitializerError: null
обзор я нашел это:
Caused by: java.net.UnknownHostException: ip-10-151-82-104: ip-10-151-82-104: Name or service not known
at java.net.InetAddress.getLocalHost (InetAddress.java:1642)
at com.github.tomakehurst.wiremock.extension.responsetemplating.helpers.HostnameHelper.<clinit> (HostnameHelper.java:31)
at com.github.tomakehurst.wiremock.extension.responsetemplating.helpers.WireMockHelpers$5.<init> (WireMockHelpers.java:62)
at com.github.tomakehurst.wiremock.extension.responsetemplating.helpers.WireMockHelpers.<clinit> (WireMockHelpers.java:61)
я настраиваю плагин для использования Local, без результата:
<plugin>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-contract-maven-plugin</artifactId>
<version>${spring-cloud-contract.version}</version>
<extensions>true</extensions>
<configuration>
<testFramework>JUNIT5</testFramework>
<testMode>WEBTESTCLIENT</testMode>
<packageWithBaseClasses>com.proxy.api</packageWithBaseClasses>
<contractsMode>LOCAL</contractsMode>
</configuration>
</plugin>
Обновление: Я нашел Подход к добавлению ip в файл / etc / hosts, такой как упоминание в этом посте , однако, сначала поговорив с командой разработчиков, отметим, что это не очень хороший подход, поскольку ip может измениться. И второе и самое важное зачем нужен ip? , так как единственное, что мне нужно, это сделать тест.