Maven Configuration Properties
The Vaadin Maven plugin contains configuration for most configurable properties. These can be set either as system properties or configuration parameters for the plugin.
Using Maven Plugin Configuration
The best way to set persistent configuration properties for a Maven project is to set them in the plugin.
<plugin>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-maven-plugin</artifactId>
<version>${vaadin.version}</version>
<executions>
<execution>
<goals>
<goal>prepare-frontend</goal>
</goals>
</execution>
</executions>
<configuration>
<nodeAutoUpdate>true</nodeAutoUpdate>
</configuration>
</plugin>
See the full list of properties.
Plugin Configuration Options
The following list shows all the configuration options and their default values:
applicationProperties
Location of the application.properties file in a Spring project. Defaults to ${project.basedir}/src/main/resources/application.properties.
eagerServerLoad
Whether or not to insert the initial UIDL object in the bootstrap index.html. Defaults to
false
.frontendDirectory
The directory with the project’s front-end source files. Defaults to
"${project.basedir}/frontend"
.generatedFolder
The folder where Flow will put generated files that will be used by webpack. Defaults to
"${project.build.directory}/frontend"
.generatedTsFolder
The folder where Flow will put TypeScript API files for client projects. Defaults to
"${project.basedir}/frontend/generated"
.javaSourceFolder
Java source folders for scanning. Defaults to
"${project.basedir}/src/main/java"
.javaResourceFolder
Java resource folder. Defaults to
"${project.basedir}/src/main/resources"
.nodeDownloadRoot
URL to use for downloading Node.js. In environments behind a firewall, the Node.js download can be provided from an intranet mirror. Defaults to
null
, which will download Node.js fromhttps://nodejs.org/dist/
.nodeVersion
The Node.js version to be used when Node.js is installed automatically. Should be in the format
"v16.0.0"
. Defaults toFrontendTools.DEFAULT_NODE_VERSION
.nodeAutoUpdate
Flag to enable automatic update of the Node.js version installed in
~/.vaadin
if it is older than the default or definednodeVersion
. Note: any installed version belowshould work
(at the moment, 8.9) will be automatically updated regardless of this flag. Defaults tofalse
.npmFolder
The folder where the package.json file is located. Defaults to
${project.basedir}
.openApiJsonFile
Default generated path of the OpenAPI JSON. Defaults to ${project.build.directory}/generated-resources/openapi.json.
pnpmEnable
Specifies to use
pnpm
to installnpm
front-end resources. Defaults totrue
.useGlobalPnpm
Specifies to use the globally installed
pnpm
tool or the default supportedpnpm
version. Defaults tofalse
.productionMode
Define whether the application is running in production mode. Defaults to
false
. For production, the front end is transpiled for older browsers and optimized, as described in Deploying to Production.projectBasedir
The folder where the package.json file is located. Defaults to
${project.basedir}
.requireHomeNodeExec
Whether Vaadin home node executable usage is forced. If it is set to
true
, the Vaadin home 'node' is checked, and installed if absent. This is then used instead of a globally or locally installed 'node'. Defaults tofalse
.resourceOutputDirectory
Defines the output directory for generated non-served resources, such as the token file. Defaults to
${project.build.outputDirectory}/vaadin-generated
.useDeprecatedV14Bootstrapping
Whether or not we are running in legacy V14 bootstrap mode. Defaults to
false
.webpackOutputDirectory
The folder where webpack should output index.js and other generated files. Defaults to
${project.build.outputDirectory}/META-IND/VAADIN/webapp/
.projectBuildDir
Build directory for the project. Defaults to
${project.build.directory}
.
Build Front-End Goal Parameters
The following parameters are used with the build-frontend
goal, in addition to the parameters described above.
generateBundle
Whether or not to generate a bundle from the project front-end sources. Defaults to
true
.runNpmInstall
Whether to run the
npm install
task after updating dependencies. This does not necessarily executenpm install
if everything seems to be up to date. Defaults totrue
.generateEmbeddableWebComponents
Whether to generate embeddable web components from
WebComponentExporter
inheritors. Defaults totrue
.frontendResourcesDirectory
Defines the project front-end directory from where resources should be copied to use with webpack. Defaults to
${project.basedir}/src/main/resources/META-INF/resources/frontend
.optimizeBundle
Whether to use a byte code scanner strategy to discover front-end components. Defaults to
true
.
CD6D2FC7-ED44-442C-B32F-FABA5AF7294F