Gradle: 合并来自子项目的 jar
Gradle: Combine jars from sub-projects
我有一个多模块 gradle 项目。该项目包含两个子项目,即 spring-boot application server 和 npm front-end ui(其中只是静态的 javascript).
我可以uild 两个子项目。我可以定义:
implementation(project(':ui'))
在 spring 应用程序的依赖项部分,我在 server 项目 build
文件夹中得到一个 运行 jar,成功地为前端。
但是,我希望能够不在 server 子项目中合并两个 not,而是在封闭的项目。
我想到了类似的东西:
build.gradle:
allprojects {
group = 'com.example.webapp'
version = '0.0.1-SNAPSHOT'
}
dependencies {
implementation(project(':server'))
implementation(project(':ui'))
}
settings.gradle:
rootProject.name = 'webapp'
include 'server', 'ui'
我想,我完全错了。我发现的关于 gradle 的所有内容要么是完全基础的,要么比我目前所了解的要多得多。
编辑:
我的解决方法出现以下错误:
A problem occurred evaluating root project 'webapp'.
Could not find method implementation() for arguments [project ':server'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
编辑 2:
基本思路来自https://ordina-jworks.github.io/architecture/2018/10/12/spring-boot-angular-gradle.html
未找到 implementation
是由于缺少应用于您的根项目的插件造成的。 implementation
配置由 Gradle 中的 java 插件创建。
您要达到的要求uires 很好地理解 Gradle 和 Spring Boot plugin 提供的所有魔法。
在没有插件帮助的情况下,您正在有效地尝试在您的根项目中重现一些集成。
一种可能更简单的方法是将您的应用程序项目迁移为根项目,然后将 ui 作为子项目。
我有一个多模块 gradle 项目。该项目包含两个子项目,即 spring-boot application server 和 npm front-end ui(其中只是静态的 javascript).
我可以uild 两个子项目。我可以定义:
implementation(project(':ui'))
在 spring 应用程序的依赖项部分,我在 server 项目 build
文件夹中得到一个 运行 jar,成功地为前端。
但是,我希望能够不在 server 子项目中合并两个 not,而是在封闭的项目。
我想到了类似的东西:
build.gradle:
allprojects {
group = 'com.example.webapp'
version = '0.0.1-SNAPSHOT'
}
dependencies {
implementation(project(':server'))
implementation(project(':ui'))
}
settings.gradle:
rootProject.name = 'webapp'
include 'server', 'ui'
我想,我完全错了。我发现的关于 gradle 的所有内容要么是完全基础的,要么比我目前所了解的要多得多。
编辑:
我的解决方法出现以下错误:
A problem occurred evaluating root project 'webapp'. Could not find method implementation() for arguments [project ':server'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
编辑 2:
基本思路来自https://ordina-jworks.github.io/architecture/2018/10/12/spring-boot-angular-gradle.html
未找到 implementation
是由于缺少应用于您的根项目的插件造成的。 implementation
配置由 Gradle 中的 java 插件创建。
您要达到的要求uires 很好地理解 Gradle 和 Spring Boot plugin 提供的所有魔法。 在没有插件帮助的情况下,您正在有效地尝试在您的根项目中重现一些集成。
一种可能更简单的方法是将您的应用程序项目迁移为根项目,然后将 ui 作为子项目。