URI не является абсолютным при запуске службы - PullRequest
0 голосов
/ 16 сентября 2018

У меня есть базовое приложение SpringBoot 2.0.5.RELEASE.Используя Spring Initializer, JPA, встроенный Tomcat, шаблонизатор Thymeleaf и пакет в качестве исполняемого файла JAR.

Я создал эту службу:

@Service
public class WeatherService  {



    @Value(“${weather.url}")
    public static String WEATHER_URL;


    static Double temperature; 


    static {


        temperature = new RestTemplate().getForEntity(WEATHER_URL, Double.class).getBody();



    }

..
}

, но при запуске приложения.Я получил эту ошибку:

Caused by: java.lang.IllegalArgumentException: URI is not absolute
    at java.net.URI.toURL(URI.java:1088)
    at org.springframework.http.client.SimpleClientHttpRequestFactory.createRequest(SimpleClientHttpRequestFactory.java:145)
    at org.springframework.http.client.support.HttpAccessor.createRequest(HttpAccessor.java:87)
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:683)
    at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:644)
    at org.springframework.web.client.RestTemplate.getForEntity(RestTemplate.java:323)
    at com.tdk.backend.service.WeatherService.<clinit>(WeatherService.java:54)
    ... 84 common frames omitted

1 Ответ

0 голосов
/ 16 сентября 2018

Вы не можете ввести значение в статическую переменную.

Попробуйте изменить на это:

public static String WEATHER_URL;

@Value(“${weather.url}")
public void setWehtherUrl(String url) {
    WEATHER_URL= url;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...