Откуда вы импортируете следующие ...reactivex...
классы? (т.е. какой JAR?):
import io.vertx.reactivex.core.Vertx;
import io.vertx.reactivex.ext.web.common.template.TemplateEngine;
import io.vertx.reactivex.ext.web.handler.TemplateHandler;
import io.vertx.reactivex.ext.web.templ.thymeleaf.ThymeleafTemplateEngine;
Похоже, что этот JAR содержит класс io.vertx.reactivex.core.Vertx
, который конфликтует с Vertex
, который необходимо использовать: io.vertx.core.Vertx
.
Попробуйте удалить этот JAR из вашего проекта (или просто из этого класса, если он вам нужен в другом месте), а затем использовать вместо этого следующее (представленное как зависимости Maven):
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-core</artifactId>
<version>3.9.0</version>
</dependency>
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-web</artifactId>
<version>3.9.0</version>
</dependency>
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-web-templ-thymeleaf</artifactId>
<version>3.9.0</version>
</dependency>
<dependency>
[others, as needed - e.g. your SQL dependencies...]
</dependency>
Тогда вам нужно только выполнить что-то вроде этого, для поддержки шаблонов Thymeleaf:
import io.vertx.ext.web.templ.thymeleaf.ThymeleafTemplateEngine;
...
final ThymeleafTemplateEngine engine = ThymeleafTemplateEngine.create(vertx);
А затем используйте engine.render()
для рендеринга выбранного шаблона с данными модели.
Вот пример на GitHub здесь . Пример также зависит от класса Runner
, который здесь .