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

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 个命令

  1. help - 显示所有可用命令的帮助信息
  2. list - 显示已抓取的文章列表(目前为存根)
  3. crawl - 开始抓取文章(目前为存根实现,添加3篇示例文章)
  4. 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 命令是存根实现,可以扩展为:

  1. 网络爬虫: 添加 Jsoup 依赖,实现真实的网页爬取
  2. 数据存储: 将抓取的文章保存到文件或数据库
  3. 多线程: 使用 ExecutorService 实现并行爬取
  4. 配置管理: 添加配置文件管理爬取规则
  5. 日志系统: 使用 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 目录中