Comme indiqué dans la documentation de Spring, lorsque vous utilisez thymeleaf 3 avec Spring Boot, si le parent est spring-boot-starter-parent, vous pouvez l'utiliser en le spécifiant dans des propriétés comme celle-ci.
<properties>
<thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>
<thymeleaf-layout-dialect.version>2.1.1</thymeleaf-layout-dialect.version>
</properties>
Cependant, spring-boot-starter-parent ne peut pas être spécifié comme parent lorsque le pom à spécifier comme parent est décidé par la société. Dans ce cas, le réglage pour utiliser thymeleaf 3 était compliqué, alors notez-le.
Également en ici Bien qu'il soit écrit, s'il n'est pas spécifié comme parent, écrivez spring-boot-dependency dans <dependencyManagement>
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.5.6.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Il spécifie la version des dépendances requises par Spring Boot.
Celui qui entre par défaut est écrit dans ici ou dans le pom de la famille head.
Si vous continuez à l'utiliser, thymeleaf 2.1.5 sera installé. Puisque je veux utiliser 3, écrivez la version du module que vous voulez changer avant spring-boot-dependencies dans <dependencyManagemet>
et écrasez-la.
<properties>
<spring-boot.version>1.5.6.RELEASE</spring-boot.version>
<thymeleaf.version>3.0.7.RELEASE</thymeleaf.version>
<thymeleaf-spring4.version>3.0.7.RELEASE</thymeleaf-spring4.version>
<thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
<version>${thymeleaf.version}</version>
</dependency>
<dependency>
<groupId>nz.net.ultraq.thymeleaf</groupId>
<artifactId>thymeleaf-layout-dialect</artifactId>
<version>${thymeleaf-layout-dialect.version}</version>
</dependency>
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring4</artifactId>
<version>${thymeleaf-spring4.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
C'est comme ça.
Si vous écrivez simplement dans <dependencyManagement>
, le module essentiel ne sera pas installé, donc
J'écrirai le module à installer dans <dependencies>
.
<dependencies>
<dependency>
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring4</artifactId>
</dependency>
<dependency>
<groupId>nz.net.ultraq.thymeleaf</groupId>
<artifactId>thymeleaf-layout-dialect</artifactId>
</dependency>
</dependencies>
Comme ça!
Si spring-boot-starter-thymeleaf
est écrit en pom, supprimez-le.
Au début, je voulais utiliser LocalDateTime avec thymeleaf, j'ai donc inclus thymeleaf-extras-java8time.
Quand from est nul dans # temporals.format (from, 'aaaaMMjj')
, ʻIllegalArgumentException: Cannot apply format on nullapparaît dans le 2ème système et il est difficile à utiliser. J'ai trouvé qu'il a été résolu en 1. [Ce](https://github.com/thymeleaf/thymeleaf-extras-java8time/issues/14) Cependant, le système 3 de thymeleaf-extras-java8time doit être thymeleaf 3, donc pour le moment, si je pensais que je devrais définir la version de thymeleaf sur 3 dans les propriétés, j'ai eu une erreur comme
ClassNotFoundException IExpressionObjectDialect` et je vais enquêter Il semble que la version était toujours thymeleaf 2 lorsque je viens de le spécifier dans les propriétés.
Recommended Posts