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

Liferay中Gradle部署失败:无法识别项目依赖引用

Liferay 7新增模块依赖解析失败解决方案

问题场景

在Liferay 7门户的modules/apps目录下新增basic应用,包含basic-api和basic-rest-impl两个子模块,单独编译均正常,但执行ant all时,basic-rest-impl的Gradle部署步骤报错,提示找不到:apps:basic:basic-api项目。

解决步骤

1. 根级settings.gradle中注册新模块

Liferay的多项目构建依赖liferay-portal/modules/settings.gradle来发现所有子项目,必须在这里添加新模块的路径:

// 方式1:逐个添加
include ":apps:basic:basic-api"
include ":apps:basic:basic-rest-impl"

// 方式2:通配符批量包含(更简洁)
include ":apps:basic:*"

2. 修正basic目录下的settings.gradle

如果之前在modules/apps/basic/settings.gradle中配置了子模块,要改成相对路径的引用(因为子settings.gradle的路径是相对于当前目录的):

include ":basic-api"
include ":basic-rest-impl"

basic-rest-impl/build.gradle中的依赖声明可以保持compile project(':apps:basic:basic-api'),或者改成相对路径compile project(':basic-api'),两种写法都有效。

3. 给basic应用添加统一构建配置

新建modules/apps/basic/build.gradle,应用Liferay的应用插件,让子模块继承默认构建规则:

apply plugin: "com.liferay.app"

subprojects {
    apply plugin: "com.liferay.plugin"
}

4. 验证项目结构是否被识别

进入liferay-portal/modules目录,执行以下命令检查Gradle是否能发现新模块:

gradle projects

输出列表中如果出现:apps:basic:basic-api和:apps:basic:basic-rest-impl,说明注册成功。

5. 清理缓存后重新构建

执行以下命令彻底清理缓存并重新构建:

ant all-clean
gradle --stop
cd liferay-portal
ant all

内容的提问来源于stack exchange,提问作者JhoG

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 04:23:10