You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven多模块构建jobs模块报错:package com.project.web.rest不存在

解决Jobs模块构建时无法引用Web模块类的问题

嘿,我一眼就看出问题出在哪了——你Jobs模块依赖的Web模块是war类型,而Maven默认不会从WAR包中加载编译后的Java类,这就是构建时提示package com.project.web.rest does not exist的核心原因。IDE能识别import是因为它直接关联了Web模块的源码,但Maven构建时只会把WAR包当作Web应用归档,不会自动解析里面的WEB-INF/classes目录下的类文件。

下面给你几个靠谱的解决方案,按推荐程度排序:

方案1:让Web模块同时生成可依赖的JAR包(推荐)

修改Web模块的pom.xml,配置Spring Boot Maven插件生成一个普通的JAR包(用于其他模块依赖)和一个可执行的WAR包(用于部署):

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <!-- 指定可执行WAR包的classifier,这样会额外生成一个不带该标识的普通JAR包 -->
                <classifier>exec</classifier>
            </configuration>
        </plugin>
    </plugins>
</build>

配置完成后,Web模块构建时会生成两个文件:

  • project-web-${version}.war:可直接部署的Spring Boot WAR包
  • project-web-${version}.jar:包含所有编译类的普通JAR包,适合其他模块依赖

然后修改Jobs模块中Web模块的依赖,把type改成jar:

<dependency>
    <groupId>com.project</groupId>
    <artifactId>project-web</artifactId>
    <version>${project.version}</version>
    <type>jar</type>
</dependency>

方案2:直接依赖Web模块的编译输出(适合临时调试)

如果不想修改Web模块的配置,可以在Jobs模块中添加Maven依赖插件,手动将Web模块的target/classes目录添加到编译路径:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <classpathElements>
                    <classpathElement>${project.basedir}/../project-web/target/classes</classpathElement>
                </classpathElements>
            </configuration>
        </plugin>
    </plugins>
</build>

不过这个方案不推荐用于正式环境,因为它依赖本地目录结构,移植性差。

方案3:调整Web模块的打包类型

如果Web模块不需要作为独立的WAR包部署,可以直接把它的packaging改成jar:

<packaging>jar</packaging>

这样Web模块会生成普通JAR包,Jobs模块直接依赖这个JAR包即可,无需额外配置。

最后再确认下父模块的<modules>顺序,确保构建顺序是library→web→database→jobs,这样Web模块的JAR包会在Jobs模块构建前生成好。

内容的提问来源于stack exchange,提问作者Вова Дк

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:02:49