Skip to content

Conversation

@tltv
Copy link
Member

@tltv tltv commented Nov 18, 2025

vaadin-dev dependency is removed from vaadin-core. Jakarta EE starters are updated for production ready builds with 'mvn clean package'.

PartOf: vaadin/flow#22715

vaadin-dev dependency is moved from vaadin-core to vaadin-spring-boot-starter. Jakarta EE starters are updated for production ready builds with 'mvn clean package'.

PartOf: vaadin/flow#22715
@tltv tltv requested a review from mshabarov November 18, 2025 12:30
@tltv tltv marked this pull request as ready for review November 18, 2025 12:58
@mshabarov
Copy link
Contributor

mshabarov commented Nov 21, 2025

Other places where production profiles is also mentioned:

  • articles/flow/configuration/licenses/daily-active-users.adoc
  • articles/flow/production/native.adoc
  • articles/hilla[lit]/guides/production/native.adoc
  • articles/hilla/guides/production/native.adoc
  • articles/hilla/tutorial/index.adoc
  • articles/tools/mpr/configuration/production-mode.adoc

@tltv
Copy link
Member Author

tltv commented Nov 26, 2025

articles/flow/configuration/licenses/daily-active-users.adoc, articles/hilla/tutorial/index.adoc and articles/tools/mpr/configuration/production-mode.adoc are based on examples still needing production profile.

----

Or when building Spring Boot 4 application, add `vaadin-dev` dependency as a `optional` scope in project `<dependencies>`. Spring Boot 4 `spring-boot-maven-plugin` automatically excludes optional dependencies from the final build:
The Vite server integration and live reload features -- which are available only in development builds -- are contained in the `com.vaadin:vaadin-dev-server` module. You should exclude this module when building a production package. You can exclude it by adding `vaadin-dev` dependency as a `optional` scope in project `<dependencies>`. Spring Boot 4 `spring-boot-maven-plugin` automatically excludes optional dependencies from the final build:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

optional breaks projects such skeleton-starter-flow-cdi

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you mean when optional is added added here: https://github.com/vaadin/skeleton-starter-flow-cdi/blob/v25/pom.xml

v25 branch don't need optional since it has development profile adding vaadin-dev. It's an exception and maybe need to be clarified somehow better when optional is actually needed.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rewrote it to more specific when excluding is needed.

When you use `vaadin-dev` in your Maven configuration to run in development mode -- within the same Maven profile or project dependencies -- you should exclude this module from the production package.

Or when building Spring Boot 4 application, add `vaadin-dev` dependency as a `optional` scope in project `<dependencies>`. Spring Boot 4 `spring-boot-maven-plugin` automatically excludes optional dependencies from the final build:
You can do this by declaring the `vaadin-dev` dependency `optional` in your project `<dependencies>`. Maven automatically excludes optional dependencies from the final production package:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see no changes to https://vaadin.com/docs/v25/flow/configuration/development-mode, but I think we need to instruct devs how to configure development config according to the new approach.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated development-mode page. And added link from upgrade guide.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants