当前位置: 首页 > news >正文

教你如何创建Maven项目

前面我们了解了Maven的基本知识,接下来,我们结合IDEA编辑器,一起去创建Maven项目。

接下来我们将会在IDEA中去创建项目,并编写java代码来操作集群中的文件。以下是核心的步骤,大家跟上哈。

1.IDEA 中创建 Maven 项目

步骤一:点击 File -> New -> Project,在弹出的窗口左侧选择 Maven,点击 Next:

步骤二:填写项目的 GroupId、ArtifactId、Version 等信息(这些对应 pom.xml 中的关键配置),点击 Next。

步骤三:确认项目配置信息无误后,点击 Finish,IDEA 会自动生成 Maven 项目结构。

2.IDEA 中配置 Maven(使用自定义 Maven 版本示例)

步骤一:打开 IDEA,点击 File -> Settings(Windows/Linux)或者 IntelliJ IDEA -> Preferences(Mac),进入设置界面,然后找到 Build, Execution, Deployment -> Build Tools -> Maven

步骤二:在 Maven home directory 处,点击右侧的按钮,选择你本地安装的 Maven 目录,例如:

步骤三:可以在 User settings file 中指定 settings.xml 文件的路径(一般使用默认路径即可),Local repository 中指定本地仓库的路径,配置完成后点击 OK 保存设置。

编写代码测试HDFS连接

我们先需要去下载响应的hadoop包,当然这个过程不需要我们去手动下载,只需要在maven中配置即可。

  1. 请在上一步创建的项目中修改pom.xml文件,添加如下的代码。
  2. <dependencies><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>3.1.3</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.30</version></dependency>
    </dependencies>

    注意,这里的dependencies要这一步中的hadoop-client要和我们前面客户端准备中下载的hadoop保持一致。

    3. 配置日志信息。在项目的src/main/resources目录下,新建一个文件,命名为“log4j.properties”,在文件中填入如下配置信息:

    log4j.rootLogger=INFO, stdout
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
    log4j.appender.logfile=org.apache.log4j.FileAppender
    log4j.appender.logfile.File=target/spring.log
    log4j.appender.logfile.layout=org.apache.log4j.PatternLayout  log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

    4.创建包及对应的类。我们创建一个包为org.example,并在下面创建Main

    编写代码如下:

    package org.example;import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.FileStatus;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.Path;import java.io.IOException;
    import java.net.URISyntaxException;public class Main {public static void main(String[] args) throws URISyntaxException, IOException, InterruptedException {Configuration conf = new Configuration();conf.set("fs.defaultFS", "hdfs://hadoop100:8020"); // hadoop100是namenode所在的节点conf.set("hadoop.job.ugi", "root");FileSystem fs = FileSystem.get(conf);FileStatus[] fileStatuses = fs.listStatus(new Path("/"));// 打印文件信息System.out.println("根目录下的文件和目录信息:");for (FileStatus fileStatus : fileStatuses) {System.out.println("路径: " + fileStatus.getPath());}fs.close();}
    }

    代码说明:

    (1)Configuration 对象用于加载 Hadoop 配置文件(如 core-site.xml 和 hdfs-site.xml),这里没有明确指定配置文件路径,会默认加载类路径下的配置文件。

    (2)FileSystem.get() 方法通过指定 HDFS 的 URI(hdfs://hadoop102:8020)和用户(root)来获取 HDFS 的文件系统对象 fs。其中:

    hdfs://hadoop102:8020 表示 HDFS 的名称节点(NameNode)地址,hadoop102 是主机名,8020 是端口号。

    root 是用户身份,用于认证和授权。

    5. 执行程序

    如果程序执行没有错误,就会打印出当前HDFS中的文件目录

相关文章:

  • 基于uniapp 实现画板签字
  • (EtherCAT 转 EtherNet/IP)EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关
  • day26 学习笔记
  • 关于vxe-select得filter-method 自定义方法得使用,忽略大小写匹配
  • 【LLM】Llama-Index 架构
  • 【三维重建与生成】GenFusion:SVD统一重建和生成
  • Java版本对应关系表
  • 如何使用ChatGPT撰写短视频爆款文案
  • ping 命令的用途与功能
  • 【刷题2025】高级数据结构(并查集+优先队列+图论)
  • <uniapp><websocket><http>基于uniapp,手机客户端通过websocket进行数据通讯(二维码扫码数据)
  • 【Axure视频教程】标准金额格式转换
  • ArrayList 与顺序表:Java 线性表深度解析
  • 【JAVAFX】自定义FXML 文件存放的位置以及使用
  • 第三天 组件系统
  • OpenAI发布GPT-4.1系列模型,近屿智能助力AI人才成长#OpenAI
  • Elasticsearch:AI 助理 - 从通才到专才
  • PDF处理控件Aspose.PDF指南:使用 C# 从 PDF 文档中删除页面
  • 接口测试之postman使用指南
  • MCP技术革命:元控制协议如何重构AI与数据库的交互范式
  • 擦亮“世界美食之都”金字招牌,淮安的努力不止于餐桌
  • 是否进行了及时有效处置?伤者情况如何?辽阳市相关负责人就饭店火灾事故答问
  • 中国科学院院士张泽民已任重庆医科大学校长
  • 锦江酒店:第一季度营业收入约29.42亿元,境内酒店出租率同比增长
  • 证据公布!菲律宾6人非法登上铁线礁活动
  • 中方发布《不跪!》视频传递何种信息?外交部回应