AppEngine-Maven-плагин. JsonSyntaxException: java .lang.IllegalStateException: ожидаемый BEGIN_ARRAY, но он был STRING в пути строки 2 столбца 1 - PullRequest
0 голосов
/ 31 января 2020

Я описал ситуацию, в которой я нахожусь в этой проблеме: https://github.com/GoogleCloudPlatform/appengine-plugins-core/issues/828.

Я хотел бы развернуть приложение Spring Boot в Google Cloud App Engine с помощью appengine- maven-plugin (v2.2.0) с моего Windows 8.1 64-разрядного компьютера.

Фактическая ситуация:

Пожалуйста, посмотрите на следующую часть трассировка стека:

Причина: com.google.gson.JsonSyntaxException: java .lang.IllegalStateException: ожидаемый BEGIN_ARRAY, но в строке 2 пути 1 столбца 1 $ com.google.gson был STRING .Gson.from Json (Gson. java: 939) на com.google.gson.Gson.from Json (Gson. java: 892) на com.google.gson.Gson.from Json (Gson. java: 841) на странице com.google.cloud.tools.appengine.operations.cloudsdk.serialization.CloudSdkComponent.fromJsonList (CloudSdkComponent. java: 67) на странице com.google.cloud.tools.managedcloudsdk. ManagedCloudSdk.isUpToDate (ManagedCloudSdk. java: 153)

Проблема очевидна: значение переменной результата p созданный в 152-й строке класса ManagedCloudSdk не в формате json.

Я выполнил следующую команду на моей машине с командной строкой:

список компонентов gcloud --format = json --filter = state.name: Доступно обновление

В результате возникла ошибка из-за пробела между «Обновление» и «Доступно»:

ОШИБКА: (gcloud.components.list) нераспознанные аргументы: доступно

Итак, я думаю, что это сообщение об ошибке является значением переменной результата. И поскольку он не имеет формата json, он генерирует исключение.

Ожидаемая ситуация:

Я попытался выполнить следующую команду:

список компонентов gcloud --format = json --filter = state.name: «Доступно обновление»

И это прекрасно работает и в результате выдает пустой массив. Итак, мне интересно, каков будет результат, если переменная updateAvailableCommand будет создана следующим образом:

`    List<String> updateAvailableCommand = Arrays.asList(getGcloudPath().toString(),"components","list","--format=json","--filter=state.name:\"Update Available\"");    `

Что вы думаете? Или у вас есть идея получше?

Спасибо за вашу помощь и время заранее!

С уважением, Ласло

1 Ответ

0 голосов
/ 01 февраля 2020

Я установил Ubuntu OS с VirtualBox, и он работал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...