Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bernardo-mg/spring-mvc-thymeleaf-maven-archetype
A Maven Archetype for Spring MVC projects using Thymeleaf for the views
https://github.com/bernardo-mg/spring-mvc-thymeleaf-maven-archetype
maven-archetype spring-mvc thymeleaf
Last synced: 4 months ago
JSON representation
A Maven Archetype for Spring MVC projects using Thymeleaf for the views
- Host: GitHub
- URL: https://github.com/bernardo-mg/spring-mvc-thymeleaf-maven-archetype
- Owner: Bernardo-MG
- License: mit
- Created: 2016-10-30T20:54:05.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-06-06T22:31:50.000Z (8 months ago)
- Last Synced: 2024-09-28T08:40:40.737Z (4 months ago)
- Topics: maven-archetype, spring-mvc, thymeleaf
- Language: Java
- Homepage:
- Size: 689 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 22
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Spring MVC with Thymeleaf Maven Archetype
A [Maven Archetype][maven-archetype] for generating a Spring MVC project using Thymeleaf for the frontend.
[![Maven Central](https://img.shields.io/maven-central/v/com.bernardomg.maven.archetypes/spring-mvc-thymeleaf-archetype.svg)][maven-repo]
[![Release docs](https://img.shields.io/badge/docs-release-blue.svg)][site-release]
[![Development docs](https://img.shields.io/badge/docs-develop-blue.svg)][site-develop]## Features
- Creates the base for a [Spring MVC][spring-mvc] project.
- Initial sample project including working persistence and exception handling
- Integrates with [Thymeleaf][thymeleaf] for the view templates.
- Using [Bootstrap 5][bootstrap] for the UI.
- Using [Liquibase][liquibase] for database versioning.
- Integration with [iText](https://itextpdf.com/) for generating PDFs.
- Fully configured POM, extending from [bernardomg's Base POM][base-pom], including features such as build validation, changes report or manifest configuration.
- Prepared for continuous integration with [Github][github], [Github Workflow][github-workflow] and both [OSS Sonatype][sonatype] and [Github packages][github-packages]. Making a distinction between releases and development versions.
- Prepared for unit and integration tests suites. Created with [JUnit][junit] and ready to be run with [Surefire][surefire] and [Failsafe][failsafe].
- A Maven site, using the [Docs Maven Skin][docs-skin], for sharing the project's documentation along the Javadocs and various reports which range from code quality to changes log.
- Includes basic files such as readme, gitignore and license.## Sample project
A [sample project][sample-project] shows what this Archetype is capable of creating.
## Documentation
Documentation is always generated for the latest release, kept in the 'master' branch:
- The [latest release documentation page][site-release].
Documentation is also generated from the latest snapshot, taken from the 'develop' branch:
- The [latest snapshot documentation page][site-develop].
The documentation site is actually a Maven site, and its sources are included in the project. If required it can be generated by using the following Maven command:
```
mvn verify site
```The verify phase is required, otherwise some of the reports won't be generated.
## Usage
The application is coded in Java, using Maven to manage the project.
It is a Maven Archetype, and can be used through command line or an IDE as long as it is included in the local repository.
### Installing
The archetype can be installed with the following Maven coordinates:
```
Group ID: com.bernardomg.maven.archetypes
Artifact ID: spring-mvc-thymeleaf-maven-archetype
Version: (Check POM or badges)
```For example, to use it through command line type the following:
```
mvn archetype:generate -DarchetypeGroupId=com.bernardomg.maven.archetypes -DarchetypeArtifactId=spring-mvc-thymeleaf-maven-archetype -DarchetypeVersion=[version]
```If using an IDE check its documentation to find out how to use Maven Archetypes, and how to add these to the local repository.
As an alternative, it is always possible to download the project from Github, and then install it using the usual Maven command:
```
mvn install
```## Collaborate
Any kind of help with the project will be well received, and there are two main ways to give such help:
- Reporting errors and asking for extensions through the issues management
- or forking the repository and extending the project### Issues management
Issues are managed at the GitHub [project issues tracker][issues], where any Github user may report bugs or ask for new features.
### Getting the code
If you wish to fork or modify the code, visit the [GitHub project page][scm], where the latest versions are always kept. Check the 'master' branch for the latest release, and the 'develop' for the current, and stable, development version.
## License
The project has been released under the [MIT License][license].[maven-repo]: https://mvnrepository.com/artifact/com.bernardomg.maven.archetypes/spring-mvc-thymeleaf-archetype
[junit]: https://junit.org
[issues]: https://github.com/Bernardo-MG/spring-mvc-thymeleaf-maven-archetype/issues
[license]: https://www.opensource.org/licenses/mit-license.php
[scm]: https://github.com/Bernardo-MG/spring-mvc-thymeleaf-maven-archetype
[site-develop]: https://docs.bernardomg.com/development/maven/spring-mvc-thymeleaf-maven-archetype
[site-release]: https://docs.bernardomg.com/maven/spring-mvc-thymeleaf-maven-archetype[maven-archetype]: https://maven.apache.org/guides/introduction/introduction-to-archetypes.html
[sample-project]: https://github.com/Bernardo-MG/spring-mvc-thymeleaf-maven-archetype-example
[spring-mvc]: httpss://spring.io/
[thymeleaf]: https://www.thymeleaf.org/[liquibase]: https://www.liquibase.org/
[docs-skin]: https://github.com/Bernardo-MG/docs-maven-skin
[base-pom]: https://github.com/Bernardo-MG/base-pom[github]: https://github.com/
[bootstrap]: https://getbootstrap.com/[surefire]: https://maven.apache.org/surefire/maven-surefire-plugin/
[failsafe]: https://maven.apache.org/surefire/maven-failsafe-plugin/