[CUBA 6.8.3-4] Не работают встроенные в платформу диаграммы

После перехода на webjars система не может найти ресурсы для компонентов диаграмм:

2018-03-15 12:28:50.333 WARN  [http-nio-8080-exec-2] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/gauge.js
2018-03-15 12:28:50.333 WARN  [http-nio-8080-exec-24] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/amcharts.js
2018-03-15 12:28:50.333 WARN  [http-nio-8080-exec-35] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/funnel.js
2018-03-15 12:28:50.345 WARN  [http-nio-8080-exec-11] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/pie.js
2018-03-15 12:28:50.354 WARN  [http-nio-8080-exec-37] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/radar.js
2018-03-15 12:28:50.354 WARN  [http-nio-8080-exec-30] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/plugins/export/export.css
2018-03-15 12:28:50.363 WARN  [http-nio-8080-exec-30] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/serial.js
2018-03-15 12:28:50.378 WARN  [http-nio-8080-exec-11] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/amstock.js
2018-03-15 12:28:50.382 WARN  [http-nio-8080-exec-37] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/xy.js
2018-03-15 12:28:50.390 WARN  [http-nio-8080-exec-40] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/themes/chalk.js
2018-03-15 12:28:50.400 WARN  [http-nio-8080-exec-34] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/themes/dark.js
2018-03-15 12:28:50.404 WARN  [http-nio-8080-exec-37] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/themes/patterns.js
2018-03-15 12:28:50.404 WARN  [http-nio-8080-exec-6] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/themes/light.js
2018-03-15 12:28:50.400 WARN  [http-nio-8080-exec-18] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/themes/black.js
2018-03-15 12:28:50.406 WARN  [http-nio-8080-exec-24] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/gantt.js
2018-03-15 12:28:50.413 WARN  [http-nio-8080-exec-40] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/plugins/export/export.min.js
2018-03-15 12:28:50.611 WARN  [http-nio-8080-exec-17] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/pie.js
2018-03-15 12:28:50.656 WARN  [http-nio-8080-exec-4] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/radar.js
2018-03-15 12:28:50.698 WARN  [http-nio-8080-exec-26] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/serial.js
2018-03-15 12:28:50.754 WARN  [http-nio-8080-exec-20] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/xy.js
2018-03-15 12:28:50.807 WARN  [http-nio-8080-exec-33] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/gantt.js
2018-03-15 12:28:50.845 WARN  [http-nio-8080-exec-16] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/amstock.js
2018-03-15 12:28:50.883 WARN  [http-nio-8080-exec-29] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/themes/black.js
2018-03-15 12:28:50.913 WARN  [http-nio-8080-exec-23/app/anonymous] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/themes/chalk.js
2018-03-15 12:28:50.941 WARN  [http-nio-8080-exec-22] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/themes/dark.js
2018-03-15 12:28:50.969 WARN  [http-nio-8080-exec-1] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/themes/light.js
2018-03-15 12:28:51.002 WARN  [http-nio-8080-exec-3] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/themes/patterns.js
2018-03-15 12:28:51.034 WARN  [http-nio-8080-exec-25] com.haulmont.cuba.web.sys.CubaWebJarsHandler - Requested WebJar resource is not found: /VAADIN/webjars/amcharts/plugins/export/export.min.js

Как воспроизвести:

  1. Создать новый проект в студии
  2. активировать элемент charts в списке App components на экране редактирования свойств проекта (секция Project properties, кнопка Edit) в CUBA Studio.

  3. Создать экран и добавить на него любую диаграмму
  4. Запустить приложение
  5. Открыть экран с диаграммой.
  6. Диаграмма отсутствует. В логах, указанный выше стек.

Мы нашли, в чем проблема. В com.haulmont.cuba.web.sys.CubaWebJarsHandler#getClassPathResourceUrl некорректно создается строка для ресурса в classpath. Например, исходная строка: /VAADIN/webjars/amcharts/amcharts.js. Она формируется в /META-INF/resources/webjars/amcharts/amcharts.js. В действительности же имя ресурса должно быть /META-INF/resources/webjars/amcharts/2.21.12/amcharts.js.

Здравствуйте,

К сожалению, мы не можем воспроизвести проблему по вашему описанию.

Вы уверены, что используете версию 6.8.+, а не 6.9-SNAPSHOT? В версии 6.8 артефакт webjars собран без версии в пути к ресурсам.

amcharts

Здравствуйте, Юрий.

Да, мы абсолютно уверены, что используем 6.8.+. Тестировали на новых проектах, созданных через студию.

Случаем, это не частные сборки для платформы? У нас используется в том числе maven central, который в приоритете.

Да, действительно, артефакты перекрываются.

Вы можете воспользоваться WebJar артефактом с патч версией compile group: 'org.webjars', name: 'amcharts', version: '3.21.12.cuba.0', пока мы не выпустим исправление платформы. Его нужно подключить как зависимость модуля web следующим образом:

    dependencies {
    }

    // after dependencies block
    configurations.all {
        resolutionStrategy.eachDependency {
            if (it.requested.name == 'amcharts') {
                it.useTarget 'org.webjars:amcharts:3.21.12.cuba.0'
            }
        }
    }

Проблема в нашем багтрекере https://youtrack.cuba-platform.com/issue/PL-10544