Ваадин: опять: сборка полностью застопорилась

avatar
mmo
1 июля 2021 в 20:28
750
1
3

Во второй раз я только что столкнулся с этой ситуацией, когда изменение версии Vaadin полностью останавливает мой процесс сборки:

Проблема началась, когда я хотел дать своему проекту, который строился и выполнялся нормально, попробовать обновить его с Vaadin 18.0.2 до 20.0.2. Как ни странно, это не сработало: Несмотря на то, что проект был построен нормально, а также запущен без ошибок или исключений, пользовательский интерфейс не отображался. Все попытки загрузить начальную страницу приводили только к синему индикатору выполнения, который быстро прогрессировал примерно до середины экрана, а затем становился все медленнее и медленнее, и в конечном итоге время запроса истекло. Никаких сообщений об ошибках, просто ничего :-( Уже самое разочаровывающее!

Таким образом, я вернул версию Vaadin в pom.xml обратно к версии 18.0.2, и теперь я застрял. При попытке собрать проект я сталкиваюсь с этой ошибкой:

...
[INFO] --- vaadin-maven-plugin:18.0.2:build-frontend (default) @ kis-monitoring ---
[INFO] Scanning classes to find frontend configurations and dependencies...
[INFO] Visited 2737 classes. Took 3034 ms.
[INFO] Visited 141 classes. Took 61 ms.
[INFO] writing file U:\workspace_Vaadin\my_project\target\flow-frontend\package.json.
[INFO] writing file U:\workspace_Vaadin\my_project\target\flow-frontend\form\package.json.
[INFO] writing file 'U:\workspace_Vaadin\my_project\target\index.html'
[INFO] writing file 'U:\workspace_Vaadin\my_project\target\index.ts'
[INFO] Parsing java files from [U:\workspace_Vaadin\my_project\src\main\java]
[INFO] There are no connect endpoints to generate.
[INFO] Running `pnpm install` to resolve and optionally download frontend dependencies. This may take a moment, please stand by...
[INFO] Generated pnpmfile hook file: 'U:\workspace_Vaadin\my_project\pnpmfile.js'
[INFO] installing pnpm version 4.4.0 locally
[INFO] using 'C:\Users\mms\.vaadin\node\node.exe C:\Users\mms\.vaadin\node_modules\pnpm\bin\pnpm.js' for frontend package installation
[ERROR] Command `C:\Users\mms\.vaadin\node\node.exe C:\Users\mms\.vaadin\node_modules\pnpm\bin\pnpm.js --shamefully-hoist=true install` failed:
Using hooks from: U:\workspace_Vaadin\my_project\pnpmfile.jsreadPackage hook is declared. Manifests of dependencies might get overridden?WARN? Your pnpm-lock.yaml was generated by a newer version of pnpm. It is a compatible version but it might get downgraded to version 5.1?WARN? deprecated html-webpack-plugin@3.2.0: 3.x is no longer supported?ERROR? No package.json (or package.yaml, or package.json5) was found in "U:\workspace_Vaadin\my_project\target\plugins\stats-plugin".
[ERROR] >>> Dependency ERROR. Check that all required dependencies are deployed in pnpm repositories.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------

В прошлый раз, когда я столкнулся с этим, я потратил много времени, пытаясь снова получить это здание! Пробовал "Ваадин-дэнс", удалял из системы все, что связано с node.js, npm, rnpm и т.д., и многое другое и НИЧЕГО не помогло это исправить. В конце концов, единственным исправлением, которое сработало, оказался перезапуск моего проекта с нуля путем создания и загрузки только что сгенерированной программы hello-world и копирования в нее моего исходного кода.

На этот раз я хочу понять, что здесь происходит со сбоями и как исправить эту ситуацию, не перезагружаясь снова с нуля! Как/почему изменение версии Vaadin и повторное ее изменение позже может вызвать эту проблему со сборкой? И что именно нужно, чтобы это снова заработало?

Источник
Marcus Hellberg
1 июля 2021 в 23:05
0

Можете ли вы поделиться, какую ошибку вы получили при обновлении до Vaadin 20?

cfrick
2 июля 2021 в 05:35
0

Вы вернулись, полностью очистили, попробуйте обновить еще раз?

Manolo Carrasco Moñino
2 июля 2021 в 10:12
0

Будет хорошо, если вы сможете все почистить и попробовать обновиться с v18 до v20 еще раз, и прислать логи и сообщения об ошибках. Кстати, вы пробовали v18 на v19?

Ответы (1)

avatar
Mikael Grankvist
2 июля 2021 в 05:38
7

С переходом с V20 на V18 возникла проблема, связанная с тем, что V19 привнесла новую функцию Theming, которая использует плагины для веб-пакетов, которые устанавливаются с помощью npm/pnpm, а package.json получает devDependencies:

    "@vaadin/application-theme-plugin": "./target/plugins/application-theme-plugin",
    "@vaadin/stats-plugin": "./target/plugins/stats-plugin",
    "@vaadin/theme-live-reload-plugin": "./target/plugins/theme-live-reload-plugin",
    "@vaadin/theme-loader": "./target/plugins/theme-loader",

Они не будут существовать после очистки mvn, и v18 также не знает об этом, чтобы очистить их.

Важная информация была скрыта в конце строки [ERROR] >>> Dependency ERROR No package.json (or package.yaml, or package.json5) was found in "U:\workspace_Vaadin\my_project\target\plugins\stats-plugin".

Чтобы снова запустить V18, необходимо удалить devDependencies, нацеленные на ./target/*, и, возможно, очистить ~/.vaadin, чтобы версия pnpm была правильной.

Что не удалось для 18->20, я не могу сказать, так как вы не предоставили никакой информации об этом, но 20->18 не удалось из-за того, что 20 имеет новые функции, которые не удаляются автоматически при переходе на более раннюю версию, поскольку 18 является EOL и понижение версии не ожидается.

mmo
2 июля 2021 в 18:57
0

Я удалил ./target/*, а также ~/.vaadin в соответствии с инструкциями. Когда сборка снова не удалась, я также удалил pnpm-lock.yaml в соответствии с сообщением об ошибке (утверждая, что он несовместим). Но теперь получаю: ERROR? No package.json (or package.yaml, or package.json5) was found in "U:\Documents\eclipse\workspace_Vaadin\KIS-Monitoring\target\plugins\application-theme-plugin". [ERROR] >>> Dependency ERROR. Check that all required dependencies are deployed in pnpm repositories. :-( Что тут еще нужно убрать или исправить?

mmo
5 июля 2021 в 20:37
0

Наконец-то нашел время продолжить и осознать, что вы уже ответили на мой вопрос выше. Снова в деле...