You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.0 KiB
3.0 KiB
CLI 模块 - Gradle 构建说明
概述
CLI 模块已完全集成到 Gradle 构建系统中,支持自动化构建和打包。
构建配置
依赖关系
- Core 模块: 提供核心业务逻辑
- SLF4J: 日志框架
- Java 21: 运行时环境
Gradle 任务
1. 标准构建
./gradlew :cli:build
编译源代码并运行测试。
2. 打包可执行 JAR
./gradlew :cli:fatJar
生成包含所有依赖的可执行 JAR 文件:
- 输出位置:
cli/build/libs/cli-1.0.0-all.jar - 包含所有运行时依赖
- 可直接运行
3. 清理构建
./gradlew :cli:clean
4. 完整重新构建
./gradlew :cli:clean :cli:fatJar
运行方式
方式 1: 使用批处理脚本(推荐)
run-cli.bat
方式 2: 直接运行 JAR
java -Dfile.encoding=UTF-8 -jar cli/build/libs/cli-1.0.0-all.jar
方式 3: 使用 Gradle 运行
./gradlew :cli:run
功能特性
基础功能
- 添加图书
- 查看所有图书
- 搜索图书
- 借阅图书
- 归还图书
- 查看借阅记录
- 查看 UML 图
AI 功能(开发中)
/ai <问题>- AI 助手对话/search <查询>- 智能搜索/recommend- 个性化推荐/summary <图书ID>- 生成图书摘要/aihelp- AI 功能帮助
项目结构
cli/
├── build.gradle # Gradle 构建配置
├── src/
│ └── main/
│ └── java/
│ └── com/smartlibrary/cli/
│ ├── CLIApplication.java # 主入口
│ ├── CommandHandler.java # 命令处理
│ └── AICommandHandler.java # AI 命令处理
└── build/
└── libs/
├── cli-1.0.0.jar # 标准 JAR
└── cli-1.0.0-all.jar # 可执行 Fat JAR
开发说明
添加新依赖
在 cli/build.gradle 中添加:
dependencies {
implementation 'group:artifact:version'
}
修改主类
在 cli/build.gradle 中修改:
application {
mainClass = 'com.smartlibrary.cli.YourMainClass'
}
调试模式
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 -jar cli/build/libs/cli-1.0.0-all.jar
注意事项
- 编码问题: Windows 环境下建议使用 UTF-8 编码
- Java 版本: 需要 Java 21 或更高版本
- AI 功能: 当前为占位实现,需要集成实际的 AI 服务
- 数据库: 使用 SQLite,数据文件位于
library.db
故障排除
问题: 找不到主类
解决: 确保使用 fatJar 任务构建,而不是标准的 jar 任务
问题: 中文乱码
解决:
- 使用
chcp 65001设置控制台编码 - 添加 JVM 参数
-Dfile.encoding=UTF-8
问题: 依赖冲突
解决: 运行 ./gradlew :cli:dependencies 查看依赖树