使用 JDK 8 构建基础库与验证运行环境
aio-socket 和 t-io 基础库使用 JDK 8 编译,可以统一 Java 8 平台 API 与字节码基线,便于应用在 Java 8 和较新的 Java 运行环境中复用构建产物。业务应用可以根据自身依赖选择运行环境,并对最终打包产物进行验证。
确认 Maven 使用 JDK 8
编译器由 Maven 实际运行的 Java 环境决定。在 Windows PowerShell 中,按本机安装位置设置当前终端:
$env:JAVA_HOME = 'D:\java\jdk-1.8_411'
$env:PATH = "$env:JAVA_HOME\bin;$env:PATH"
java -version
mvn -version
两条命令都应显示 Java 1.8。IDE 的 Maven Runner、项目 SDK 和终端环境应分别核对;修改当前终端变量不会自动更新已经运行的 IDE 或服务进程。
source 和 target 用于约束源码语法与字节码格式。使用 JDK 8 实际编译,还能使编译时解析的平台方法来自 Java 8。仅在较新 JDK 上配置 source/target=1.8,并不等于使用 JDK 8 的平台 API。
按依赖顺序构建
先进入 aio-socket 源码目录,执行:
mvn clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Dgpg.skip=true
再进入 t-io 聚合工程根目录,执行同样的命令。clean 清除之前的编译结果,install 将构建产物安装到本机 Maven 仓库。以上命令用于本地依赖安装,跳过测试编译与执行、文档生成和签名,并不代表回归测试通过。安装后还需执行对应模块的测试和下面的应用验证;发布流程按项目的发布规范执行。
基础库的 Maven 构建在验证阶段检查 Java 环境,要求使用 JDK 8。这样可以在编译开始前明确构建环境,保持产物的一致性。应用自身的编译配置不会重新编译依赖 JAR,因此应先完成基础库构建,再重新打包应用。
验证最终应用
- 重新打包应用,确认使用了本地新构建的依赖。
- 使用 Java 8 启动应用并访问一个真实 HTTP 接口,验证连接接收、请求解析和响应。
- 重复访问,并按业务需要覆盖持续连接、大响应等路径。
- 如果还支持 Java 21,在 Java 21 下运行同一构建产物,重复上述验证。
已运行的 JVM 不会因本地 Maven 仓库更新而自动替换已加载的类。验证新产物时应重新启动对应的应用进程。
更多构建参数见 Maven 项目配置。关于源码、字节码与平台 API 的区别,参见 Maven Compiler Plugin 官方说明。
