有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法访问maven/spring boot子模块的webapp资源

我有一个运行良好的spring boot应用程序,其结构如下: enter image description here

现在,我尝试用父(pom)和两个子(jar)以及(war)实现多模块体系结构。它看起来像: enter image description here

但现在我在洛杉矶有404:8080。 看来我无法访问子模块静态资源

父pom:

...
<modules>
    <module>liquibase</module>
    <module>server</module>
</modules>

...

<build>
    <plugins>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

<packaging>pom</packaging>

和儿童pom:

<parent>
    <artifactId>stable-backend</artifactId>
     <groupId>...</groupId>
     <version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>server</artifactId>

<packaging>war</packaging>

怎么了

更新 我把我的html放到server/src/webapp/ 在第一种情况下,它就像一个符咒。 关于访问,我的意思是从浏览器中获取html

更新2 当我运行spring boot:run maven任务时,它也可以工作。 只有当我在intellij“run”按钮上作为spring项目运行时,才会产生这个问题


共 (1) 个答案

  1. # 1 楼答案

    尝试将maven插件更改为

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                        <configuration>
                            <classifier>exec</classifier>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
    

    让重新打包依赖于进程的模块