Java / Maven / Spring Boot - контроллер не найден в модуле Maven Project - PullRequest
0 голосов
/ 11 апреля 2019

Это мой первый проект, использующий модули Maven и Spring-boot, и я не могу загрузить сопоставленные контроллеры. Я вижу, как Eclipse загружает стандартные пружинные контроллеры, но мой не может быть найден в журнале.

Макет прост как parent-child1-child2. Child2 имеет контроллеры, создает приложение Spring и имеет зависимость от Child1, который имеет только класс.

POM POM

<groupId>com.lotr</groupId>
<artifactId>parent</artifactId>
<version>0.0.1</version>
<packaging>pom</packaging>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.3.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<modules>
    <module>child1</module>
    <module>child2</module>
</modules>

Child1 POM

<parent>
    <groupId>com.lotr</groupId>
    <artifactId>parent</artifactId>
    <version>0.0.1</version>
</parent>
<artifactId>child1</artifactId>
<packaging>war</packaging>

Child2 POM

<parent>
    <groupId>com.lotr</groupId>
    <artifactId>parent</artifactId>
    <version>0.0.1</version>
</parent>
<artifactId>child2</artifactId>
<packaging>war</packaging>

<dependencies>
    <dependency>
        <groupId>com.lotr</groupId>
        <artifactId>child1</artifactId>
        <version>0.0.1</version>
    </dependency>

    [HERE ARE ALL THE SPRING DEPENDENCIES]
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

Инициализация приложения Child2

@SpringBootApplication
@EnableAutoConfiguration
@ComponentScan(basePackages = { "child1"})
public class Child2Application {
public static void main(String[] args) {
    SpringApplication.run(Child2Application.class, args);
    }
}

Child2 Домашний контроллер

@RestController
public class HomeController {
    @GetMapping({ "/", "/home" })
    public ModelAndView home() {
        ModelAndView modelAndView = new ModelAndView("home");
        return modelAndView;
    }
}

Доступ к адресу напрямую «localhost: 8080 / child2 /» возвращает:

{
"_links" : {
"profile" : {
    "href" : "http://localhost:8080/child2/profile"
        }
    }
}

Попытка получить доступ к "localhost: 8080 / child2 / home" возвращает мое 404-НЕ НАЙДЕННОЕ. Приложение может найти мою пользовательскую страницу ошибок, поскольку оно использует Spring Error Controller по умолчанию, но не может найти мою домашнюю страницу, потому что оно не загружает мой собственный Home Controller.

Любая помощь приветствуется, спасибо заранее.

...