Как я должен разрешить java.lang. IllegalArgumentException: протокол = https размещает = пустая исключительная ситуация?

Никогда не указывайте половину пути "/app2/messages.proto", это не будет работать.

  1. Укажите полное имя импорта
import "github.com/user/protoapp/proto/app2/messages.proto";

и

  1. Определите с именем пакета
//if we does'nt add package we define it will show error
package messagedata;
7
задан Chathuranga Chandrasekara 27 April 2009 в 12:17
поделиться

2 ответа

URL-адреса используют прямые косые черты (/), а не обратные (как окна). Попробуйте:

serverURLS = "https://abc.my.domain.com:55555/update";

Причина, по которой вы получаете сообщение об ошибке, заключается в том, что класс URL не может проанализировать хост-часть строки, и поэтому host имеет значение null .

19
ответ дан 6 December 2019 в 08:17
поделиться

Этот код кажется совершенно ненужным:

String serverURLS = getRecipientURL(message);

serverURLS = "https:\\\\abc.my.domain.com:55555\\update";

if (serverURLS != null){
    serverURL = new URL(serverURLS);
}
  1. serverURLS присваивается результат getRecipientURL (message)
  2. Затем сразу же перезаписывается значение serverURLS , делая предыдущее утверждение мертвым хранилищем
  3. Тогда, потому что if (serverURLS! = Null) оценивается как true , поскольку вы просто ] присваивая переменной значение в предыдущем выражении, вы присваиваете значение serverURL . Для невозможно, если (serverURLS! = Null) вычислить как false !
  4. Фактически вы никогда не используете переменную serverURLS за пределами предыдущей строки кода .

Вы можете заменить все это просто:

serverURL = new URL("https:\\\\abc.my.domain.com:55555\\update");
3
ответ дан 6 December 2019 в 08:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: