2016-02-18 2 views
1

Я пытаюсь подключить службу весеннего отдыха к клиенту, который является устройством Android.Localhost vs 127.0.0.1 в Spring Framework

Я следовал этому учебник по созданию моей службы: https://spring.io/guides/gs/rest-service/ , который по умолчанию работает пружинные службы по порту 8080.

Моей проблема заключается в том, что на локальном хосте: 8080/тест я получаю правильный вывод из моей службы, но на 127.0.0.1:8080/test Я получаю 404 Не найдено.

Есть ли причина для этого? Я специально должен подключиться к 127.0.0.1 для целей отладки с помощью эмулятора android.

спасибо.

+0

Попробуйте 'nslookup localhost'. Вы должны получить '127.0.0.1'; если вы получите что-то еще, используйте это. –

+0

Я получил 127.0.0.1, что на самом деле не решает мою проблему. – Dan

+0

Предполагая, что вы используете стандартный Tomcat с Spring, см. [Этот ответ] (http://stackoverflow.com/a/23953385/2970947). –

ответ

2

Возможно, это связано с тем, что Java 7+ использует IPv6 по умолчанию вместо IPv4. Таким образом localhost разрешается на ::: 1 вместо 127.0.0.1.

Попробуйте следующее:

Просто передайте -Djava.net.preferIPv4Stack = верны ява опций VM.

Если это работает, Вы можете сделать его постоянным, установив _JAVA_OPTIONS на Linux:

export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true" 

Вы можете разместить эту строку в/и т.д./профиль или /etc/profile.d/java.sh (путем создания файл java.sh)

+0

Thx, ты спас мне жизнь! –

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