Chapter 6. Setting configuration properties
By default, Quarkus reads properties from the application.properties
file located in the src/main/resources
directory. If you change build properties, make sure to repackage your application.
Quarkus configures most properties during build time. Extensions can define properties as overridable at run time, for example the database URL, a user name, and a password which can be specific to your target environment.
Prerequisites
- You have a Quarkus Maven project.
Procedure
To package your Quarkus project, enter the following command:
./mvnw clean package
Use one of the following methods to set the configuration properties:
Setting system properties:
Enter the following command where
<key>
is the name of the configuration property you want to add and<value>
is the value of the property:java -D<key>=<value> -jar target/myapp-runner.jar
For example, to set the value of the
quarkus.datasource.password
property, enter the following command:java -Dquarkus.datasource.password=youshallnotpass -jar target/myapp-runner.jar
Setting environment variables:
Enter the following command where
<key>
is the name of the configuration property you want to set and<value>
is the value of the property:export <key>=<value> ; java -jar target/myapp-runner.jar
NoteEnvironment variable names follow the conversion rules of Eclipse MicroProfile. Convert the name to upper case and replace any character that is not alphanumeric with an underscore (
_
).Using an environment file:
Create an
.env
file in your current working directory and add configuration properties where<key>
is the property name and<value>
is the value of the property:<key>=<value>
NoteFor development mode, this file can be located in the root directory of your project, but it is advised to not track the file in version control. If you create an
.env
file in the root directory of your project, you can define keys and values that the program reads as properties.Using the
application.properties
file.Place the configuration file in
$PWD/config/application.properties
directory where the application runs so any runtime properties defined in that file will override the default configuration.NoteYou can also use the
config/application.properties
features in development mode. Place theconfig/application.properties
inside thetarget
directory. Any cleaning operation from the build tool, for examplemvn clean
, will remove theconfig
directory as well.