首页 > 其他分享 >【答题】gradle中如何区分model打包?

【答题】gradle中如何区分model打包?

时间:2024-01-01 23:32:01浏览次数:36  
标签:web 答题 core gradle 构建 build 模块 model

Python编程新技能:如何优雅地实现水仙花数? - 程序员古德

针对同一个目录解决

假设有一个项目,该项目包含两个模块:coreweb,其中,core模块包含一些基本的或公共的Java类,而web模块是一个Web应用程序,依赖于core模块。首先,需要在项目根目录下创建一个settings.gradle文件,用于定义项目中的模块:

rootProject.name = 'myproject'  
include 'core'  
include 'web'

接下来,在项目根目录下创建一个build.gradle文件,这个文件通常用于配置所有模块共用的构建逻辑,比如插件应用、仓库定义等:

allprojects {  
    group = 'com.example'  
    version = '1.0-SNAPSHOT'  
      
    repositories {  
        mavenCentral()  
    }  
      
    apply plugin: 'java'  
      
    sourceCompatibility = 1.8  
    targetCompatibility = 1.8  
}  
  
subprojects {  
    apply plugin: 'java'  
      
    dependencies {  
        // 这里可以定义所有子模块共用的依赖项  
    }  
}

然后,为每个模块创建它们各自的build.gradle文件。在core模块的目录下创建core/build.gradle

apply plugin: 'java'  
  
dependencies {  
    // core模块的依赖项  
}

web模块的目录下创建web/build.gradle

apply plugin: 'war' // 假设web模块需要打包成WAR文件  
  
dependencies {  
    implementation project(':core') // web模块依赖于core模块  
    // web模块的其他依赖项  
}

【揭秘】如何使用LinkedHashMap来实现一个LUR缓存? - 程序员古德

注意,在web/build.gradle中,使用implementation project(':core')语句来声明web模块对core模块的依赖,Gradle会自动处理这种依赖关系,并确保在构建web模块之前先构建core模块。

最后,可以在命令行中运行Gradle构建命令来构建整个项目或特定的模块,例如,要构建整个项目,可以在项目根目录下运行:

./gradlew build

要仅构建web模块,可以运行:

./gradlew web:build

针对不同目录实现

如果两个模块不在同一个目录,但想要在同一个Gradle构建中包含它们,则需要确保每个模块都有一个build.gradle文件,并且在项目的根目录中的settings.gradlesettings.gradle.kts文件中正确地引用这些模块,Gradle会基于这些设置来确定哪些模块应该被包含在构建中,以及它们之间的关系。

假设有如下的目录结构:

/root-project  
  /moduleA  
    build.gradle  
  /some-other-directory  
    /moduleB  
      build.gradle  
  settings.gradle  
  build.gradle

【揭秘】如何使用LinkedHashMap来实现一个LUR缓存? - 程序员古德

在这个例子中,moduleAmoduleB不在同一个目录下,想要在同一个Gradle构建中包含它们,则需要在settings.gradle文件中指定这两个模块的位置,如下代码:

rootProject.name = 'root-project'  
include 'moduleA'  
project(':moduleA').projectDir = new File(rootDir, 'moduleA')  
include 'moduleB'  
project(':moduleB').projectDir = new File(rootDir, 'some-other-directory/moduleB')

这里,使用projectDir属性来指定每个模块的实际位置,注意,路径是相对于根项目目录的。然后,可以在根目录的build.gradle文件中定义所有模块共用的配置,以及在每个模块的build.gradle文件中定义模块特定的配置和依赖关系。

现在,运行Gradle命令时,它会考虑这两个模块,并根据在build.gradle文件中定义的依赖关系来正确地构建它们。

关注我,每天学习互联网编程技术 - 程序员古德

标签:web,答题,core,gradle,构建,build,模块,model
From: https://blog.51cto.com/bytegood/9058693

相关文章

  • Gradle安装
    官方安装文档一、下载下载地址:releasenote二、配置镜像仓库在init.d目录下新建init.gradle文件,并配置以下信息allprojects{repositories{mavenLocal()maven{name"Alibaba";url"https://maven.aliyun.com/repository/public"}mav......
  • 解决gradle下载失败
    解决网络等问题导致AndroidStudio下载Gradle失败腾讯镜像:https://mirrors.cloud.tencent.com/gradle/阿里镜像:https://mirrors.aliyun.com/gradle/选择以上镜像,下载项目对应版本gradle.zip#切换到gradle目录cd/Users/用户名/.gradle/wrapper/dists如下图所示找到......
  • 10.基于模型的测试方法 Model-based Testing
    Model-basedTesting介绍 Model-basedTestingisanapplicationofmodel-baseddesignfordesigningandoptionallyalsoexecutingartifactstoperformsoftwaretestingorsystemtesting.Modelscanbeusedtorepresentthedesiredbehaviorofasystemu......
  • Keras and Transfer Learning: Harnessing PreTrained Models for Your Projects
    1.背景介绍Keras是一个开源的深度学习框架,由Google的TensorFlow团队开发。它提供了许多预训练的模型,可以用于各种项目。在这篇文章中,我们将讨论Keras和传输学习的基本概念,以及如何利用预训练模型来完成自己的项目。传输学习是一种机器学习方法,它涉及到在一种任务上训练的模......
  • IDEA 创建 Gradle 工程入门实例
    1.概述Gradle是专注于灵活性和性能的开源构建自动化工具。Gradle构建脚本是使用Groovy或KotlinDSL编写的用户手册链接:https://docs.gradle.org/current/userguide/userguide.html。用户手册中文版链接:https://legacy.gitbook.com/book/dongchuan/gradle-user-guide-/details......
  • SPSS modeler用关联规则Apriori模型对笔记本电脑购买事务销量数据研究
    全文链接:https://tecdat.cn/?p=34709原文出处:拓端数据部落公众号自2011年全球PC出货量达到历史最高的3.64亿台后,全球PC市场出货量已经连续四年下滑。市场调研公司Gartner最新数据显示,2015年Q3全球PC销量同比降低7.7%,至7370万台。IDC数据更加不乐观,2015年Q3全球PC出货量共计7100......
  • Modelsim工程建立与仿真
    refresh后work目录下会出现添加的文件,然后对仿真文件点击simPS:这样就可以进输入工程文件进行查看波形了,然后如果遇到文件修改,可以进行重新编译,并且清除波形后再生成,既可以尝试新的波形。......
  • ModelSim的TCL脚本仿真流程【超详细案例教学】
    目录前言常用的tcl脚本仿真复杂tcl脚本仿真(以Quartus中带ipcore为例)参考前言在编写完成verilog代码时,我们常用需要使用modelsim软件进行仿真,一般我们都是在modelsim中手动添加文件,波形等等,小工程倒是无所谓,但是一旦信号量较多,涉及到观察以及编译方式使用GUI界面操作的方式未免有......
  • C++ Qt开发:SqlTableModel映射组件应用
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍SqlTableModule组件的常用方法及灵活运用。在多数情况下我们需要使用SQL的方法来维护数据库,但此......
  • 不需要本地部署大模型,modelscope-agent加qwen-max免费搭建自己的定制机器人
    最近阿里开源了通用大模型qwen-72b,正在为怎么本地化部署发愁,转眼看到提供了qwen-max相关接口的免费试用(据说就是基于qwen-72b大模型),这就来体验一番。1.前期准备开通阿里云灵积平台,并创建api-key2.环境搭建python:3.10+;pydantic2.0以上,老版本pydantic会报一个tool_sche......