Проблема Ваадина в многомодульном проекте Spring Boot - PullRequest
1 голос
/ 09 марта 2019

Я составил пример проекта весенней загрузки с Vaadin (последняя версия). У меня только один взгляд:

@Route
public class MainView extends VerticalLayout {

Пользовательский интерфейс работал как шарм, затем мне пришлось провести рефакторинг проекта в модулях. Я поместил SpringBootApplication в модуль, а Vaadin - в другой. Я вхожу в модули, так что я не знаю точно, как они взаимодействуют, но мне пришлось поместить зависимость в загрузочном модуле в модуль vaadin, чтобы запустить его. Теперь это не работает, когда я звоню localhost, он говорит

Не удалось перейти к ''

Причина: не удалось найти маршрут для ''

Доступные маршруты:

Это подробное сообщение отображается только при запуске в режим разработки.

Приложение весенней загрузки:

@SpringBootApplication
@ComponentScan(basePackages = {"my.app"})
@EntityScan(basePackages = {"my.app"})
@EnableJpaRepositories(basePackages = {"my.app"})
@EnableJpaAuditing
public class LicensemanagerApplication 

фрагмент модуля загрузки pom.xml:

<dependency>
     <groupId>${project.groupId}</groupId>
      <artifactId>app_frontend</artifactId>
      <version>${project.version}</version>
      <scope>runtime</scope>
</dependency>

Фрагмент приложения app_frontend pom.xml:

<dependency>
     <groupId>com.vaadin</groupId>
     <artifactId>vaadin-spring-boot-starter</artifactId>
 </dependency>
.............
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-bom</artifactId>
            <version>13.0.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

1 Ответ

1 голос
/ 11 марта 2019

Vaadin по умолчанию ищет только аннотированные классы @Route в том же пакете, который содержит аннотацию @SpringBootApplication. Чтобы он выглядел в других пакетах, вам нужно передать их в качестве значения в аннотацию @EnableVaadin, например, @EnableVaadin({"my.app"}).

...