CtrlK
BlogDocsLog inGet started
Tessl Logo

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

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

Pending
Overview
Eval results
Files

resources.mddocs/

Resource Management

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

Capabilities

Filtered Resources

Application configuration files that undergo property substitution during the build process.

/**
 * Filtered resource configuration for Spring Boot configuration files
 * Applies property substitution using configured delimiters
 * Includes: application*.yml, application*.yaml, application*.properties
 */
<resource>
    <directory>${basedir}/src/main/resources</directory>
    <filtering>true</filtering>
    <includes>
        <include>**/application*.yml</include>
        <include>**/application*.yaml</include>
        <include>**/application*.properties</include>
    </includes>
</resource>

Usage Examples:

# src/main/resources/application.properties
app.name=@project.name@
app.version=@project.version@
app.description=@project.description@
# src/main/resources/application.yml
app:
  name: '@project.name@'
  version: '@project.version@'
  build-time: '@maven.build.timestamp@'

Non-Filtered Resources

Static resources that should not undergo property substitution to preserve their original content.

/**
 * Non-filtered resource configuration for static assets
 * Excludes configuration files from filtering to prevent corruption
 * Includes: All resources except application configuration files
 */
<resource>
    <directory>${basedir}/src/main/resources</directory>
    <excludes>
        <exclude>**/application*.yml</exclude>
        <exclude>**/application*.yaml</exclude>
        <exclude>**/application*.properties</exclude>
    </excludes>
</resource>

Usage Examples:

Static files that remain unchanged during build:

  • src/main/resources/static/css/styles.css
  • src/main/resources/templates/index.html
  • src/main/resources/data/sample.json
  • src/main/resources/certificates/keystore.jks

Resource Plugin Configuration

Maven resources plugin configuration with encoding and delimiter settings.

/**
 * Maven resources plugin configuration
 * Controls encoding and property substitution behavior
 */
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <configuration>
        <propertiesEncoding>${project.build.sourceEncoding}</propertiesEncoding>
        <delimiters>
            <delimiter>${resource.delimiter}</delimiter>
        </delimiters>
        <useDefaultDelimiters>false</useDefaultDelimiters>
    </configuration>
</plugin>

Resource Filtering Patterns

Property Substitution

# Before filtering (in source)
server.port=@server.port@
app.name=@project.name@
build.version=@project.version@

# After filtering (in target)
server.port=8080
app.name=my-spring-app
build.version=1.0.0

Profile-Specific Resources

# application.yml
app:
  name: '@project.name@'
  profile: '@spring.profiles.active@'

# application-dev.yml
server:
  port: 8080

# application-prod.yml  
server:
  port: 80

Complex Property Substitution

# Source configuration
database:
  url: 'jdbc:postgresql://@db.host@:@db.port@/@db.name@'
  username: '@db.username@'
  password: '@db.password@'

# Maven properties (in pom.xml or profiles)
<properties>
    <db.host>localhost</db.host>
    <db.port>5432</db.port>
    <db.name>myapp</db.name>
    <db.username>appuser</db.username>
    <db.password>secret</db.password>
</properties>

Resource Directory Structure

src/
└── main/
    └── resources/
        ├── application.yml                 # Filtered
        ├── application-dev.yml            # Filtered
        ├── application-prod.yml           # Filtered
        ├── application.properties         # Filtered
        ├── static/                        # Not filtered
        │   ├── css/
        │   ├── js/
        │   └── images/
        ├── templates/                     # Not filtered
        │   └── index.html
        ├── data/                          # Not filtered
        │   └── initial-data.sql
        └── META-INF/                      # Not filtered
            └── spring.factories

Install with Tessl CLI

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

docs

index.md

native.md

plugins.md

properties.md

resources.md

tile.json