0
# Properties Configuration
1
2
Maven properties that control build behavior, resource processing, and compilation settings for Spring Boot applications.
3
4
## Capabilities
5
6
### Java Version Configuration
7
8
Controls the Java version used for compilation and runtime.
9
10
```xml { .api }
11
/**
12
* Java version for compilation and runtime
13
* Default: 17
14
* Override in child POM properties section
15
*/
16
<java.version>17</java.version>
17
```
18
19
**Usage Examples:**
20
21
```xml
22
<!-- Override to use Java 21 -->
23
<properties>
24
<java.version>21</java.version>
25
</properties>
26
```
27
28
### Resource Delimiter Configuration
29
30
Defines the delimiter used for resource filtering and property substitution.
31
32
```xml { .api }
33
/**
34
* Delimiter for resource filtering
35
* Default: @
36
* Used in application.properties and application.yml for placeholder replacement
37
*/
38
<resource.delimiter>@</resource.delimiter>
39
```
40
41
**Usage Examples:**
42
43
```properties
44
# In application.properties, use @ delimiters
45
app.version=@project.version@
46
app.name=@project.name@
47
```
48
49
```yaml
50
# In application.yml, use @ delimiters
51
app:
52
version: '@project.version@'
53
name: '@project.name@'
54
```
55
56
### Compiler Configuration
57
58
Maven compiler settings for Java compilation.
59
60
```xml { .api }
61
/**
62
* Maven compiler release version
63
* Default: ${java.version}
64
* Controls compiler target version
65
*/
66
<maven.compiler.release>${java.version}</maven.compiler.release>
67
```
68
69
### Encoding Configuration
70
71
Character encoding settings for source code and reporting.
72
73
```xml { .api }
74
/**
75
* Source code encoding
76
* Default: UTF-8
77
* Ensures consistent character encoding across platforms
78
*/
79
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
80
81
/**
82
* Reporting output encoding
83
* Default: UTF-8
84
* Controls encoding for generated reports and documentation
85
*/
86
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
87
```
88
89
### Main Class Configuration
90
91
Spring Boot application main class configuration.
92
93
```xml { .api }
94
/**
95
* Spring Boot main class property
96
* Default: ${start-class}
97
* Used by Spring Boot Maven plugin for executable JAR creation
98
*/
99
<spring-boot.run.main-class>${start-class}</spring-boot.run.main-class>
100
```
101
102
**Usage Examples:**
103
104
```xml
105
<!-- Explicitly set main class -->
106
<properties>
107
<start-class>com.example.Application</start-class>
108
</properties>
109
```
110
111
```xml
112
<!-- Alternative direct configuration -->
113
<properties>
114
<spring-boot.run.main-class>com.example.MyApplication</spring-boot.run.main-class>
115
</properties>
116
```
117
118
## Property Override Patterns
119
120
### Standard Override
121
122
```xml
123
<properties>
124
<java.version>21</java.version>
125
<resource.delimiter>$</resource.delimiter>
126
<start-class>com.example.MyApp</start-class>
127
</properties>
128
```
129
130
### Profile-Specific Override
131
132
```xml
133
<profiles>
134
<profile>
135
<id>production</id>
136
<properties>
137
<spring-boot.run.main-class>com.example.ProductionApp</spring-boot.run.main-class>
138
</properties>
139
</profile>
140
</profiles>
141
```