Posts by Topic: build_tools

java的反射和代理
java的反射和代理

Li Guangqiao - 26/06/2024

java的反射和代理机制 java的反射特性 反射特性允许程序在运行时检查、修改和操作自身的结构 反射特性主要解决java运行时的灵活性和动态性问题,使得Java应用程序能够在运行时加载、探查、使用和修改类和对象的行为。 使用场景: 动态类加载。 访问类的内部信息 调用方法和访问字段 数组操作 实现泛型api 动态代理 调试和测试工具 示例1:动态加载java.util.ArrayList类,调用其方法 public void test(){ try { Class<?> clazz = Class.forName("java.util.ArrayList"); Object arr = clazz.getDeclaredConstructor().newInstance(); Method add =...

java
java

Li Guangqiao - 26/06/2024

java问题总结 JDK17编译出jdk8的代码 核心原因还是因为在pom.xml或者build.gradle中指定问编译版本 ...

Gradle基础
Gradle基础

Li Guangqiao - 08/05/2024

Gradle 基础 原文出自官方文档Gradle Basics Gradle 可根据构建脚本中的信息自动构建、测试和部署软件. 总体业务架构 对文字的解释: 业务包含三部分项目Project、构建工具Gradle和输出Output。项目作为输入经过构建工具后得到输出。 项目部分:一个项目可以有多个子项目。根项目中会包含一个setting.gradle文件,子项目包含build.gradle和源码文件。 构建工具部分:包含缓存Cache、构建工作流Build Flow和依赖管理Dependency Manager。根据引入插件Plugins添加默认的构建工作流、和引入的依赖项添加依赖 输出部分:包含测试结果、项目包和与服务器持续集成的操作。 Gradle 名词解释 Project 项目 Gradle 项目是可以构建的软件,例如应用程序或库。 单个项目生成包括一个名为根项目的单个项目。 多项目生成包括一个根项目和任意数量的子项目。 Build Scripts 构建脚本集 构建脚本向 Gradle 详细介绍了构建项目需要执行哪些步骤。 每个项目可以包含一个或多个生成脚本。 Dependency Manager 依赖关系管理 依赖项管理是一种自动化技术,用于声明和解析项目所需的外部资源。 每个项目通常都包含许多外部依赖项,Gradle 将在构建过程中解决这些依赖项。 Task 任务 任务是基本工作单元,例如编译代码或运行测试。 每个项目都包含在构建脚本或插件中定义的一个或多个任务。 Plugins 插件 插件用于扩展 Gradle 的功能,并选择性地为项目贡献任务。 Gradle 项目结构 存放gradle wrapper文件和其他相关文件的地方。 用于依赖项的版本管理 执行wrapper的脚本 定义跟项目名称并导入子项目 子项目的构建脚本 子项目的源码 命令行接口 参考官网Command-Line Interface Basics (gradle.org) Setting.gradle rootProject.name = 'root-project' //项目名称 include('sub-project-a') //引入子项目 include('sub-project-b') include('sub-project-c') Build.gradle plugins { id 'application' ...