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.
4.8 KiB
4.8 KiB
Maven 项目运行说明
项目已成功创建并测试完成
项目信息
- 项目类型: Maven Java 项目
- 包结构: com.crawler
- 功能: 命令行文章爬虫系统
已实现的包结构
w9/
├── pom.xml # Maven 配置文件
├── README.md # 详细项目文档
├── test.bat # Windows 测试脚本
└── src/
└── main/
└── java/
└── com/
└── crawler/
├── Main.java # 主程序入口,包含命令循环
├── model/
│ └── Article.java # 文章数据模型
├── view/
│ └── ConsoleView.java # 控制台视图(用户界面)
├── command/
│ ├── Command.java # 命令接口
│ ├── HelpCommand.java # help 命令实现
│ ├── ListCommand.java # list 命令实现
│ ├── CrawlCommand.java # crawl 命令实现
│ └── ExitCommand.java # exit 命令实现
└── controller/
└── CommandController.java # 命令控制器
已实现的 4 个命令
- help - 显示所有可用命令的帮助信息
- list - 显示已抓取的文章列表(目前为存根)
- crawl - 开始抓取文章(目前为存根实现,添加3篇示例文章)
- exit - 退出程序
运行方法
方法一:使用 Java 编译器直接运行(已测试)
# 1. 编译项目
cd D:\嘻嘻哈哈\Git\java\w9\src\main\java
javac -d ../../../../target/classes -cp . com/crawler/model/Article.java com/crawler/view/ConsoleView.java com/crawler/command/*.java com/crawler/controller/*.java com/crawler/Main.java
# 2. 运行程序
java -cp ../../../../target/classes com.crawler.Main
方法二:使用 Maven 运行(需要配置 JAVA_HOME)
# 设置 JAVA_HOME
set JAVA_HOME=你的Java安装路径
# 编译项目
cd w9
mvn clean compile
# 运行程序
mvn exec:java
测试结果
程序已成功运行,所有命令都正常工作:
================================================
欢迎使用文章爬虫系统
================================================
可用命令:
help - 显示帮助信息
list - 显示已抓取的文章列表
crawl - 开始抓取文章
exit - 退出程序
请输入命令 > help
可用命令:
help - 显示帮助信息
list - 显示已抓取的文章列表
crawl - 开始抓取文章
exit - 退出程序
请输入命令 > list
已抓取的文章列表:
----------------------------------------
暂无已抓取的文章
共 0 篇文章
请输入命令 > crawl
正在开始抓取文章...
抓取完成,共抓取了 3 篇文章
请输入命令 > list
已抓取的文章列表:
----------------------------------------
1. 示例文章1
URL: https://example.com/article1
----------------------------------------
2. 示例文章2
URL: https://example.com/article2
----------------------------------------
3. 示例文章3
URL: https://example.com/article3
----------------------------------------
共 3 篇文章
请输入命令 > exit
感谢使用,再见!
项目架构说明
MVC 架构模式
- Model (模型层):
model/Article.java- 数据模型 - View (视图层):
view/ConsoleView.java- 用户界面输出 - Controller (控制层):
controller/CommandController.java- 命令调度
命令模式
- Command 接口: 定义命令的基本结构
- 具体命令类: HelpCommand, ListCommand, CrawlCommand, ExitCommand
- 命令控制器: 管理命令的注册和执行
扩展建议
当前 crawl 命令是存根实现,可以扩展为:
- 网络爬虫: 添加 Jsoup 依赖,实现真实的网页爬取
- 数据存储: 将抓取的文章保存到文件或数据库
- 多线程: 使用 ExecutorService 实现并行爬取
- 配置管理: 添加配置文件管理爬取规则
- 日志系统: 使用 SLF4J 添加日志记录
Maven 依赖配置
如需添加 Jsoup 依赖,可以在 pom.xml 中添加:
<dependencies>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.17.2</version>
</dependency>
</dependencies>
总结
✅ Maven 项目结构已创建 ✅ 完整的包结构 (model/view/command/controller) 已实现 ✅ 4 个命令已全部实现并测试通过 ✅ list 命令可展示已抓取的文章 ✅ 命令循环运行正常 ✅ 所有文件已保存在 w9 目录中