Я написал очень простое приложение, основанное на примере here.Неспособность запустить ZK Spreadsheet на App Engine Управляемая VM
Когда я пытаюсь запустить его с автономным Jetty 9.2.10.v20150310 (который является той же версией, используемой GAE Managed VM), он отлично работает (загрузка и сохранение). Когда я пытаюсь запустить его с Maven плагин Google Cloud SDK или когда я развернуть его на App Engine, загрузки содержимого таблицы, но CSS не удается загрузить с исключением на сервере:
[INFO] SEVERE: Failed to load media, /view/z_obs/lGAQ1/f14/0/ss_lGAQ1_t0_sheet_0.css
[INFO] java.lang.NullPointerException
[INFO] at org.zkoss.zss.ui.Spreadsheet.getMergeMatrixHelper(Spreadsheet.java:2755)
[INFO] at org.zkoss.zss.ui.Spreadsheet.prepareBasicStyleSheet(Spreadsheet.java:4144)
[INFO] at org.zkoss.zss.ui.Spreadsheet.getSheetDefaultRules0(Spreadsheet.java:4603)
[INFO] at org.zkoss.zss.ui.Spreadsheet.getSheetDefaultRules(Spreadsheet.java:4597)
[INFO] at org.zkoss.zss.ui.Spreadsheet.access$6200(Spreadsheet.java:219)
[INFO] at org.zkoss.zss.ui.Spreadsheet$ExtraCtrl.getMedia(Spreadsheet.java:3041)
[INFO] at org.zkoss.zk.au.http.AuDynaMediar.service(AuDynaMediar.java:128)
и затем UI немного запутался - выделение выделения ячейки не соответствует правильной длине ячейки, и попытка напечатать или форматировать содержимое ячеек не удалась. Я пробовал всевозможные комбинации - ZUL и JSP, настраивая электронную таблицу с использованием атрибута src, атрибута bookProvider в JSP и из SelectorComposer, а иногда CSS, упомянутого выше, загружается отлично, и нет исключений, или исключения появляются позже, но во всех случаях, когда я делаю изменения в ячейках, они немедленно возвращаются или после попытки ввода в одну ячейку я не могу ничего напечатать. Из зарегистрированных исключений я полагаю, что текущая книга как-то нуль во время операций, например:
[INFO] java.lang.NullPointerException
[INFO] at org.zkoss.zss.ui.au.in.FetchActiveRangeCommand.process(FetchActiveRangeCommand.java:57)
и
[INFO] java.lang.NullPointerException
[INFO] at org.zkoss.zss.ui.au.in.AbstractCommand.getSheetUuid(AbstractCommand.java:37)
[INFO] at org.zkoss.zss.ui.au.in.CellFocusedCommand.process(CellFocusedCommand.java:55)
Я следовал инструкциям here, чтобы сделать приложение более GAE людей, хотя кроме сеансовой сериализации, я не думаю, что эти параметры необходимы в управляемой виртуальной машине, и они не изменили ситуацию.
Из-за того, что он работает на той же версии автономного Jetty, я думаю, что можно предположить, что App Engine/Docker каким-то образом вызывает это. Я смог запустить его локально со старым SDK GAE, который использует модифицированный Jetty 6, но не имитирует производственную среду. Я не могу использовать классический GAE, потому что ZK Spreadsheet опирается на классы java.awt. *.
Я попытался использовать среду выполнения Java по умолчанию, а также попытался использовать пользовательские среды выполнения на основе gcr.io/google_appengine/jetty9, gcr.io/google_appengine/java-compat и gcr.io/google_appengine/jetty9-compat - didn Кажется, это важно.
Я полагаю, что я мог бы попробовать стороннее изображение Docker на основе автономного Jetty (или любого сервера приложений), чтобы заставить работу работать, но мне нужно получить доступ к хранилищу данных и блочному магазину.
Любая помощь, связанная с этим, будет оценена по достоинству.