# ftp-tool **Repository Path**: nism/ftp-tool ## Basic Information - **Project Name**: ftp-tool - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-20 - **Last Updated**: 2026-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FTP工具箱 基于 **JavaFX 21** 的跨平台 FTP 桌面工具,集成 FTP 服务器与客户端,支持绿色免安装分发。 ## 功能 | 模块 | 功能 | |------|------| | **FTP 服务器** | 一键启动/停止,支持自定义端口、用户认证、匿名访问、根目录设置 | | **FTP 客户端** | 连接远程服务器,文件上传/下载,目录浏览,支持主动/被动模式 | | **配置持久化** | 服务器配置自动保存到本地 JSON 文件 | | **运行日志** | 实时显示连接状态与操作日志 | ## 技术栈 | 组件 | 技术 | |------|------| | GUI | JavaFX 21 + FXML | | FTP 服务器 | Apache FTPServer 1.2.0 | | FTP 客户端 | Apache Commons Net 3.11.1 | | JSON | Gson 2.10.1 | | 日志 | SLF4J 2.0.9 | | 构建 | Maven 3.9 + jlink + jpackage | | JDK | 21 | ## 构建 ### 前置条件 - JDK 21(需含 jmods) - [JavaFX SDK 21 jmods](https://gluonhq.com/products/javafx/) 解压到项目根目录 `javafx-jmods-21/` ### 一键构建 **Windows:** ```batch build.bat ``` **macOS / Linux:** ```bash chmod +x build.sh ./build.sh ``` 或直接使用 Maven Wrapper: ```bash # Windows mvnw.cmd clean package -Prelease # macOS / Linux ./mvnw clean package -Prelease ``` ### 自定义参数 ```bash # 指定 JavaFX jmods 路径 mvnw clean package -Prelease -Djavafx.jmods.path=/你的路径 # 自定义应用名称 mvnw clean package -Prelease -Dapp.name=MyFtpTool ``` 构建产物在 `release/` 目录,解压后直接运行,无需安装 JDK 或 JRE。 ## 运行 | 平台 | 启动方式 | |------|---------| | Windows | 解压后双击 `FtpTool.exe` | | macOS | 双击 `FtpTool.app` | | Linux | `./FtpTool/bin/FtpTool` | ## 项目结构 ``` ftp-tool/ ├── src/main/java/com/ftptool/ │ ├── App.java # 应用入口 (JavaFX Application) │ ├── controller/ │ │ └── MainController.java # 主界面控制器 │ ├── model/ │ │ └── ServerConfig.java # 服务器配置模型 │ ├── service/ │ │ ├── FtpServerService.java # FTP 服务器服务 │ │ └── FtpClientService.java # FTP 客户端服务 │ └── util/ │ └── ConfigUtil.java # JSON 配置读写工具 ├── src/main/resources/ │ ├── main.fxml # 主界面布局 │ └── style.css # 样式表 ├── pom.xml # Maven 配置(多平台打包) ├── build.bat / build.sh # 一键构建脚本 ├── mvnw / mvnw.cmd # Maven Wrapper └── BUILD.md # 详细构建文档 ``` ## 许可 MIT License