Tymeleaf-spring4: jar не удалось найти артефакт - gradle intelijj

Я пытаюсь создать простое приложение, используя gradle, groovy и spring-boot framework с этим кодом:

@Grab("thymeleaf-spring4")

@Controller
class ViewBasedApp {
    def chapters = ["Quick Start With Groovy",
                    "Quick Start With Java",
                    "Debugging and Managing Your App",
                    "Data Access with Spring Boot",
                    "Securing Your App"]
    @RequestMapping("/")
    def home(@RequestParam(value = "name", defaultValue = "World") String n) {
        new ModelAndView("home")
                .addObject("name", n)
                .addObject("chapters", chapters)
    }
}

Это мой файл build.gradle:

group 'LoginApp'
version '1.0-SNAPSHOT'

apply plugin: 'groovy'

repositories {
    mavenCentral()
}

dependencies {
    compile 'org.codehaus.groovy:groovy-all:2.3.11'
    testCompile group: 'junit', name: 'junit', version: '4.12'

    compile("org.springframework.boot:spring-boot-starter-web")
    //compile("org.thymeleaf:thymeleaf-spring4") //first try
   // compile("nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect") //first try
    compile 'org.springframework:spring-webmvc:3.0.0.RELEASE'

    // https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf-spring4 //secound try
    compile group: 'org.thymeleaf', name: 'thymeleaf-spring4', version: '3.0.0.RELEASE'
   // compile group: 'org.thymeleaf', name: 'thymeleaf-spring4', version: '4.1.6.RELEASE' //third try
}

html файл:

<html xmlns:th = "http://www.thymeleaf.org">
<head>
    <title>Learning Spring Boot - Chapter 1</title>
</head>
<body>
<p th:text = "'Hello, ' + ${name}"></p>
<ol>
    <li th:each = "chapter : ${chapters}" th:text = "${chapter}"></li>
</ol>
</body>
</html>

Чтобы запустить свое приложение, я использую интерфейс командной строки для весенней загрузки. Когда я использовал "Spring Run" в командной строке, у меня всегда возникала одна и та же ошибка: Не удалось найти артефакт: тимелеаф-пружина4: банка: в локальном (файл: / C: / Users / kubas / репозиторий).

Я попытался добавить «thimeleaf-spring4.jar» - загруженный со страницы maven в папку «репозиторий» и ничего, всегда одна и та же ошибка.

Кто-нибудь может предложить по этому поводу?

Этот код работает без аннотации @Grab и только в STS

Falcon 24.06.2018 14:30
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Версия Java на основе версии загрузки
Версия Java на основе версии загрузки
Если вы зайдете на официальный сайт Spring Boot , там представлен start.spring.io , который упрощает создание проектов Spring Boot, как показано ниже.
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
0
1
773
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я решил проблему, добавив зависимость от локального репозитория:

buildscript {
    repositories {
        mavenLocal()
    }
    dependencies {
        classpath("org.thymeleaf:thymeleaf-spring5:3.0.9.RELEASE")
    }
}
repositories {
    mavenCentral()
}

dependencies {
    compile 'org.codehaus.groovy:groovy-all:2.3.11'
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile("org.springframework.boot:spring-boot-starter-web")
    compile("nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect") //first try
    compile 'org.springframework:spring-webmvc:4.0.6.RELEASE'
    compile 'org.springframework:spring-web:4.0.6.RELEASE' //@EnableWebMvc @ComponentScan
}

Теперь тимелеаф взят из C: \ Users \ kubas \ org \ thymeleaf \ thymeleaf-spring5

Мне пришлось изменить аннотацию в app.groovy на @Grab("thymeleaf-spring5")

но теперь я не могу настроить путь к файлу моих шаблонов. Мой путь к этому файлу: F:\gradle_login_aPP\src\main\resources\templates ...

Это ошибка:

Cannot find template location: classpath:/templates/

Я пробовал добавить файл application.properties в \src\main\resources\, но он не работает. Я знаю, что можно добавить префикс по умолчанию, но я не могу найти информацию о файле, в котором мне нужно это добавить. Любое предложение, как запустить эти шаблоны с проектом Gradle?

Я попытался изменить путь к классам шаблона, но ничего не произошло. Я добавил новый класс конфигурации с 'templateResolver.setPrefix ("classpath: / templates /");' и ничего

Falcon 17.06.2018 01:31
Ответ принят как подходящий

Я решил эту проблему. Я использовал файл .html, и вот как я использую этот файл в своем классе контроллера:

@RestController
class LoginServiceApplication {

    @RequestMapping("/")
    String home() {
        def htmlContent = new File("F:\\APKA_W_SPRINGU\\Spring-apps-master\\AppWithLoginPage\\LoginService\\src\\main\\resources\\templates\\index.html").text

        htmlContent
    }
}

По первому вопросу - все, что мне нужно было сделать, это запустить основной класс в intelijj с помощью кнопки run (класс не должен содержать аннотацию @Grab!), Прежде чем я решил эту проблему, я использовал Spring CLI, и это было проблемой. Теперь все работает нормально.

Другие вопросы по теме