[JAVA] Utilisez thymeleaf3 avec le parent sans spécifier spring-boot-starter-parent dans Spring Boot

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.

Déclencheur

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 commeClassNotFoundException 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

Utilisez thymeleaf3 avec le parent sans spécifier spring-boot-starter-parent dans Spring Boot
Utiliser Spring JDBC avec Spring Boot
Utiliser l'authentification de base avec Spring Boot
À partir de Spring Boot 0. Utilisez Spring CLI
Comment utiliser Thymeleaf avec Spring Boot
Desserrer la vérification de la syntaxe de Thymeleaf dans Spring Boot
Utiliser la méthode de requête DynamoDB avec Spring Boot
Implémenter CRUD avec Spring Boot + Thymeleaf + MySQL
Implémenter la fonction de pagination avec Spring Boot + Thymeleaf
Utiliser le cache avec EhCashe 2.x avec Spring Boot
Exécutez l'application WEB avec Spring Boot + Thymeleaf
Testez le contrôleur avec Mock MVC dans Spring Boot
Traitement asynchrone avec exécution régulière dans Spring Boot
Utilisez le mode de modèle de texte Thymeleaf de Spring Boot
Comment utiliser MyBatis2 (iBatis) avec Spring Boot 1.4 (Spring 4)
Utiliser le filtre de servlet avec Spring Boot [compatible Spring Boot 1.x, 2.x]
Créez une application CRUD avec Spring Boot 2 + Thymeleaf + MyBatis
Créez votre propre utilitaire avec Thymeleaf avec Spring Boot
[JAVA] [Spring] [MyBatis] Utiliser IN () avec SQL Builder
Organisez les différences de comportement de @NotBlank, @NotEmpty et @NotNull avec Spring Boot + Thymeleaf
Utilisez Interceptor au printemps
Télécharger avec Spring Boot
SSO avec GitHub OAuth dans l'environnement Spring Boot 1.5.x
Comment utiliser CommandLineRunner dans Spring Batch of Spring Boot
Jusqu'à ce que vous commenciez à développer avec Spring Boot dans eclipse 1
Jusqu'à ce que vous commenciez à développer avec Spring Boot dans eclipse 2
Création d'un environnement de base de données avec Docker dans Spring Boot (IntellJ)
Téléchargement de fichiers avec Spring Boot (ne pas utiliser de fichier en plusieurs parties)
Définir le paramètre contextuel dans Spring Boot
Générer un code à barres avec Spring Boot
Hello World avec Spring Boot
Implémenter GraphQL avec Spring Boot
Gérez l'API de date et d'heure Java 8 avec Thymeleaf avec Spring Boot
Bonjour tout le monde avec Spring Boot!
Multi-projets Spring Boot 2 avec Gradle
Comment utiliser la même classe Mapper dans plusieurs sources de données avec Spring Boot + MyBatis
Exécutez LIFF avec Spring Boot
Connexion SNS avec Spring Boot
[Java] Thymeleaf Basic (Spring Boot)
Téléchargement de fichiers avec Spring Boot
Spring Boot commençant par copie
Jusqu'à INSERT et SELECT sur Postgres avec botte de printemps et feuille de thym
Comment appeler et utiliser l'API en Java (Spring Boot)
Spring Boot à partir de Docker
Spring Boot + Springfox springfox-boot-starter 3.0.0 Utilisation
Hello World avec Spring Boot
Définir des cookies avec Spring Boot
Changements majeurs dans Spring Boot 1.5
Ajouter un module avec Spring Boot
Premiers pas avec Spring Boot
NoHttpResponseException dans Spring Boot + WireMock
Créer un micro service avec Spring Boot
Envoyer du courrier avec Spring Boot
Utilisez @ControllerAdvice, @ExceptionHandler, HandlerExceptionResolver dans Spring Boot pour intercepter les exceptions
Comment contrôler les transactions dans Spring Boot sans utiliser @Transactional
Développement facile d'applications Web avec STS et Spring Boot. Dans 10 minutes.
[Linux: Ruby] Utilisez le pilote avec sélénium sans spécifier le chemin du pilote du navigateur
Voir le comportement de redirection relative avec le paramètre server.tomcat.use-relative-redirects dans Spring Boot
Comparez Hello, world! Avec Spring Boot avec Java, Kotlin et Groovy
Comment utiliser Lombok au printemps
Spring Boot Hello World dans Eclipse