or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

tessl/maven-org-springframework-boot--spring-boot-starter-parent

Parent pom providing dependency and plugin management for applications built with Maven

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
mavenpkg:maven/org.springframework.boot/spring-boot-starter-parent@3.5.x

To install, run

npx @tessl/cli install tessl/maven-org-springframework-boot--spring-boot-starter-parent@3.5.0

0

# Spring Boot Starter Parent

1

2

Spring Boot Starter Parent is a Maven parent POM that provides comprehensive dependency and plugin management for Spring Boot applications. It establishes build conventions, configures essential Maven plugins, and enables both traditional JVM deployments and native compilation with GraalVM for modern cloud-native applications.

3

4

## Package Information

5

6

- **Package Name**: spring-boot-starter-parent

7

- **Package Type**: maven

8

- **Language**: Java (Maven configuration)

9

- **Installation**: Declare as parent in `pom.xml`

10

11

## Core Usage

12

13

```xml

14

<parent>

15

<groupId>org.springframework.boot</groupId>

16

<artifactId>spring-boot-starter-parent</artifactId>

17

<version>3.5.3</version>

18

<relativePath/>

19

</parent>

20

```

21

22

## Basic Usage

23

24

```xml

25

<?xml version="1.0" encoding="UTF-8"?>

26

<project xmlns="http://maven.apache.org/POM/4.0.0"

27

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

28

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

29

http://maven.apache.org/xsd/maven-4.0.0.xsd">

30

<modelVersion>4.0.0</modelVersion>

31

32

<parent>

33

<groupId>org.springframework.boot</groupId>

34

<artifactId>spring-boot-starter-parent</artifactId>

35

<version>3.5.3</version>

36

<relativePath/>

37

</parent>

38

39

<groupId>com.example</groupId>

40

<artifactId>my-spring-boot-app</artifactId>

41

<version>1.0.0</version>

42

43

<properties>

44

<java.version>21</java.version>

45

</properties>

46

47

<dependencies>

48

<dependency>

49

<groupId>org.springframework.boot</groupId>

50

<artifactId>spring-boot-starter-web</artifactId>

51

</dependency>

52

</dependencies>

53

</project>

54

```

55

56

## Architecture

57

58

Spring Boot Starter Parent operates as a Maven parent POM providing:

59

60

- **Dependency Management**: Inherits from spring-boot-dependencies for consistent versioning

61

- **Plugin Management**: Pre-configured Maven plugins with sensible defaults

62

- **Property Configuration**: Standard properties for encoding, Java version, and compilation

63

- **Resource Processing**: Automatic filtering of application configuration files

64

- **Profile Support**: Native compilation and testing profiles for GraalVM

65

- **Build Conventions**: Consistent packaging and deployment configurations

66

67

## Capabilities

68

69

### Properties Configuration

70

71

Maven properties that control build behavior, resource processing, and compilation settings.

72

73

```xml { .api }

74

<!-- Core Properties -->

75

<properties>

76

<java.version>17</java.version>

77

<resource.delimiter>@</resource.delimiter>

78

<maven.compiler.release>${java.version}</maven.compiler.release>

79

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

80

<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

81

<spring-boot.run.main-class>${start-class}</spring-boot.run.main-class>

82

</properties>

83

```

84

85

[Properties Configuration](./properties.md)

86

87

### Resource Management

88

89

Automatic resource filtering and processing for Spring Boot applications, handling configuration files and static resources.

90

91

```xml { .api }

92

<!-- Resource Configuration -->

93

<resources>

94

<resource>

95

<directory>${basedir}/src/main/resources</directory>

96

<filtering>true</filtering>

97

<includes>

98

<include>**/application*.yml</include>

99

<include>**/application*.yaml</include>

100

<include>**/application*.properties</include>

101

</includes>

102

</resource>

103

<resource>

104

<directory>${basedir}/src/main/resources</directory>

105

<excludes>

106

<exclude>**/application*.yml</exclude>

107

<exclude>**/application*.yaml</exclude>

108

<exclude>**/application*.properties</exclude>

109

</excludes>

110

</resource>

111

</resources>

112

```

113

114

[Resource Management](./resources.md)

115

116

### Plugin Management

117

118

Comprehensive Maven plugin management with pre-configured settings for compilation, testing, packaging, and deployment.

119

120

```xml { .api }

121

<!-- Core Plugin Management -->

122

<plugin>

123

<groupId>org.apache.maven.plugins</groupId>

124

<artifactId>maven-compiler-plugin</artifactId>

125

<configuration>

126

<parameters>true</parameters>

127

</configuration>

128

</plugin>

129

130

<plugin>

131

<groupId>org.springframework.boot</groupId>

132

<artifactId>spring-boot-maven-plugin</artifactId>

133

<executions>

134

<execution>

135

<id>repackage</id>

136

<goals>

137

<goal>repackage</goal>

138

</goals>

139

</execution>

140

</executions>

141

</plugin>

142

```

143

144

[Plugin Management](./plugins.md)

145

146

### Native Compilation Support

147

148

GraalVM native image compilation support for fast startup times and low memory footprint deployments.

149

150

```xml { .api }

151

<!-- Native Profile Configuration -->

152

<profile>

153

<id>native</id>

154

<build>

155

<plugins>

156

<plugin>

157

<groupId>org.graalvm.buildtools</groupId>

158

<artifactId>native-maven-plugin</artifactId>

159

<configuration>

160

<classesDirectory>${project.build.outputDirectory}</classesDirectory>

161

<requiredVersion>22.3</requiredVersion>

162

</configuration>

163

</plugin>

164

</plugins>

165

</build>

166

</profile>

167

```

168

169

[Native Compilation](./native.md)

170

171

## Types

172

173

```xml { .api }

174

<!-- Maven Parent Structure -->

175

<parent>

176

<groupId>org.springframework.boot</groupId>

177

<artifactId>spring-boot-dependencies</artifactId>

178

<version>${project.version}</version>

179

</parent>

180

181

<!-- Packaging Configuration -->

182

<packaging>pom</packaging>

183

184

<!-- Property Placeholders -->

185

${java.version} <!-- Java version (default: 17) -->

186

${resource.delimiter} <!-- Resource delimiter (default: @) -->

187

${start-class} <!-- Main class placeholder -->

188

${project.build.sourceEncoding} <!-- Source encoding (UTF-8) -->

189

${project.reporting.outputEncoding} <!-- Reporting encoding (UTF-8) -->

190

```