anatolys
(Anatoly Shirokov)
December 27, 2024, 11:46am
1
Hello! After migration to Vaadin 24.6.0 there is in the log of production build:
2024-12-27T11:40:31.861Z WARN 1 --- [Terminal Portal] [ main] s.DefaultApplicationConfigurationFactory : Unable to fully determine correct flow-build-info.Accepting file 'file:/app/my.jar!/META-INF/VAADIN/config/flow-build-info.json' first match of '2' possible.Please verify flow-build-info file content.
What should I do?
marcoc_753
(Marco Collovati)
December 27, 2024, 11:59am
2
What is my.jar? Your main artifact or a different module?
Could be an add-on that mistakenly contains a flow-build-info.json file
anatolys
(Anatoly Shirokov)
December 27, 2024, 12:09pm
3
my.jar is my spring boot 3.4 application jar. Here is the flow-build-info.json from my development host:
{
"productionMode": false,
"eagerServerLoad": false,
"npmFolder": "D:\\my\\my-vaadin24-portal",
"node.version": "v22.12.0",
"node.download.root": "https://nodejs.org/dist/",
"frontendFolder": "D:\\my\\my-vaadin24-portal\\src\\main\\frontend",
"connect.javaSourceFolder": "D:\\my\\my-vaadin24-portal\\src\\main\\java",
"javaResourceFolder": "D:\\my\\my-vaadin24-portal\\src\\main\\resources",
"connect.applicationProperties": "D:\\my\\my-vaadin24-portal\\src\\main\\resources\\application.properties",
"connect.openApiFile": "D:\\my\\my-vaadin24-portal\\target\\generated-resources\\openapi.json",
"project.frontend.generated": "D:\\my\\my-vaadin24-portal\\src\\main\\frontend\\generated",
"pnpm.enable": false,
"bun.enable": false,
"require.home.node": false,
"build.folder": "target",
"react.enable": true
}
marcoc_753
(Marco Collovati)
December 27, 2024, 12:39pm
4
More than one /META-INF/VAADIN/config/flow-build-info.json
resource in present in the classpath. However, the correct one seems to be picked (the one from your application), so it should work correctly.
Unfortunately, the log does not list the location of the other resources, so it does not help debugging. You can put a breakpoint in DefaultApplicationConfigurationFactory.getPossibleJarResource()
where the message is logged, and inspect the resources
variable to determine all found occurrences.
BTW, it looks like the JAR you are running is not built for production, given the content of the flow-build-info.json file you posted.
anatolys
(Anatoly Shirokov)
December 27, 2024, 12:50pm
5
There is in dependencies the third party component AceEditor - Vaadin Add-on Directory It is build as jar.
marcoc_753
(Marco Collovati)
December 27, 2024, 12:55pm
6
The add-on you linked looks incompatible with Vaadin 24, and it does not seem to contain the flow-build-info.json
anatolys
(Anatoly Shirokov)
December 27, 2024, 12:59pm
7
I have cloned the ace editor repository and patch pom.xml to build with Vaadin 24. It works as expected.
marcoc_753
(Marco Collovati)
December 27, 2024, 1:02pm
8
Got it. In add-ons, you need to exclude that file when building the JAR file.
Take a look at this configuration
anatolys
(Anatoly Shirokov)
December 27, 2024, 1:03pm
9
@marcoc_753 Marco, thank you so much for your hint! The warning has disappeared.