For further reference, please consider the following sections:
- Official Apache Maven documentation
- Spring Boot Maven Plugin Reference Guide
- Create an OCI image
- Spring Configuration Processor
- Spring Data JPA
- Docker Compose Support
- JTE
- JDBC Chat Memory Repository
- Mistral AI
- Ollama
- OpenAI
- Tika Document Reader
- PGvector Vector Database
- Qdrant Vector Database
- Spring Web
The following guides illustrate how to use some features concretely:
- Accessing Data with JPA
- Building a RESTful Web Service
- Serving Web Content with Spring MVC
- Building REST services with Spring
This project contains a Docker Compose file named compose.yaml.
In this file, the following services have been defined:
- ollama:
ollama/ollama:latest - pgvector:
pgvector/pgvector:pg16 - qdrant:
qdrant/qdrant:latest
Please review the tags of the used images and set them to the same as you're running in production.
This project has been configured to use JTE precompiled templates.
However, to ease development, those are not enabled out of the box. For production deployments, you should remove
gg.jte.development-mode=truefrom the application.properties file and set
gg.jte.use-precompiled-templates=trueinstead. For more details, please take a look at the official documentation.
Due to Maven's design, elements are inherited from the parent POM to the project POM.
While most of the inheritance is fine, it also inherits unwanted elements like <license> and <developers> from the parent.
To prevent this, the project POM contains empty overrides for these elements.
If you manually switch to a different parent and actually want the inheritance, you need to remove those overrides.