Maven项目创建(超级完整版)

一、maven下载

maven官网:https://maven.apache.org/

maven下载地址:https://maven.apache.org/download.cgi

名词解释:归档(计算机和信息领域中指的是将文件、文档或数据集合打包成一个单一的文件或者容器,以便于存储、传输和备份)

其中

关于binary这种归档包含了预编译的二进制文件,即编译后的程序和库文件。可以直接安装与运行,不需要自己编译源代码。

关于source这种归档包含了软件的源代码,即程序的原始代码文件,用户需要使用编译器将这些源代码编译成可执行的二进制文件。

二、环境变量配置

在高级系统配置中,设置maven对应目录层级的路径

配置完成后打开cmd,输入mvn -v得到正确提示

三、配置repository源(可选)

配置repository的目的是为了让maven在下载依赖的时候能够更快、以及获得其他从官方下载依赖过程中的优点。

下面以配置阿里云镜像源为例

在maven解压路径下的创建repository目录

进入conf目录下的settings.xml文件进行编辑,在<mirror>标签中添加mirror子节点

添加内容:(阿里云镜像文件)

   <mirror>

      <id>alimaven</id>

      <mirrorOf>central</mirrorOf>

      <name>aliyun maven</name>

      <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>

    </mirror>

再找到profiles节点,在其中并列添加子节点

添加内容:(需要根据自己的java的版本设置进行配置)

    <!-- java版本 -->

    <profile>

          <id>jdk-1.8</id>

          <activation>

              <activeByDefault>true</activeByDefault>

              <jdk>1.8</jdk>

          </activation>

          <properties>

              <maven.compiler.source>1.8</maven.compiler.source>

              <maven.compiler.target>1.8</maven.compiler.target>

              <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>

          </properties>

    </profile>

最后找到settings标签,找到节点localRepository,在注释处额外添加如下内容:

添加内容:(就是你repository文件夹的创建位置)

<localRepository>D:\maven1\apache-maven-3.8.6\repository</localRepository>

注意点:如果不配置阿里云的repository镜像的话,在进行maven项目加载依赖的时候,项目会从maven官网进行下载依赖。在通过官方依赖库进行下载的时候,可能会存在下载速度慢等等不利因素。

maven依赖官网仓库及其查询方式

查询maven依赖项:

maven项目依赖包查询网址:

https://mvnrepository.com/

依赖包查询方式:

Pom.xml项目对象模型(project object model)

在maven依赖中,依赖项主要由groupid(依赖项组织唯一标识符)、artifactid(项目制品唯一标识符)、version(依赖项版本号)

在搜索栏中直接搜索组织唯一标识符

例:在项目中的依赖:

在maven官网中进行搜索,直接通过artifactid项目制品唯一标识符进行查询。

检查是否安装好了maven :mvn -v

四、在IDEA中配置maven项目

事先说明,IDEA中是自带maven环境的,我们需要做的就是加载依赖包就可以,如果需要自定义maven版本就需要自己按照上述步骤安装maven环境。

第一步,在IDEA中设置中央仓库的位置(即设定maven从哪里下载依赖)【路径不能有中文或者特殊符号】

打开settings——>build、execution、deployment——>build tools——>maven

本地仓库:maven从中央仓库中下载的jar包到本地仓库,后面如果再使用同一个jar包,就不用再下载一次了

远程仓库:在settings.xml文件中设定了maven从哪里下载依赖的jar包,中央仓库有很多镜像,具体的配置可以看 第三步 配置repository源

创建maven项目

1.新建一个maven工程

选定项目工程名(Name)、项目制品唯一标识符(ArtifactID)、项目依赖组织唯一识(groupID),选择建立系统为maven(build system),选择合适的jdk

其中groupID项目依赖组织唯一标识符与artifactID项目制品唯一标识符,是将来程序上传到中央仓库时需要用到的,如果不需要上传那就默认值就行

更改maven的默认使用路径与settings.xml配置文件路径

2.在maven工程中找到pom.xml导入相关的依赖包。

依赖包内容(注意要更改项目组标识与项目标识,单元测试类,控制日志级别类)

<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>

 右键使用maven下载源就可以

3.在项目的/src/main/resources目录下新建一个log4j.properties控制日志级别类文件。

控制日志级别类文档:

log4j.rootLogger=INFO, stdout  (控制打印级别为INFO级别)

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

五、maven项目打包

(1)用maven打jar包,需要添加的打包插件依赖(加入此插件会将jar代码运行时需要的package、扩展库等一并打进jar包中)

<build>

    <plugins>

        <plugin>

            <artifactId>maven-compiler-plugin</artifactId>

            <version>3.6.1</version>

            <configuration>

                <source>1.8</source>

                <target>1.8</target>

            </configuration>

        </plugin>

        <plugin>

            <artifactId>maven-assembly-plugin</artifactId>

            <configuration>

                <descriptorRefs>

                    <descriptorRef>jar-with-dependencies</descriptorRef>

                </descriptorRefs>

            </configuration>

            <executions>

                <execution>

                    <id>make-assembly</id>

                    <phase>package</phase>

                    <goals>

                        <goal>single</goal>

                    </goals>

                </execution>

            </executions>

        </plugin>

    </plugins>

</build>

 注意:如果工程上显示红叉。在项目上右键->maven->Reimport刷新即可

部分插件中存在红色内容是没关系的

 (2)将程序打成jar包

 

 

(3)修改不带依赖的jar包名称为wc.jar,并拷贝该jar包到Hadoop集群的/opt/module/hadoop-3.1.3路径(未来的执行路径)

(4)启动Hadoop集群

[atguigu@hadoop102 hadoop-3.1.3]sbin/start-dfs.sh

[atguigu@hadoop103 hadoop-3.1.3]$ sbin/start-yarn.sh

 

(5)执行WordCount程序

[atguigu@hadoop102 hadoop-3.1.3]$ hadoop jar  wc.jar

 com.atguigu.mapreduce.wordcount.WordCountDriver /user/atguigu/input /user/atguigu/output

(自己的代码需要进行全类名【driver类的】的输入)

获取全类名的方式:

右键需要进行运行的driver类

选择copy reference复制全类名,然后粘贴到代码中即可

(官方的wordcount案例)指定wordcount案例时的代码

Hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output(官方的wordcount案例

不需要进行全类名的输入,因为它做了一个特殊的映射关系,直接输入案例名称即可)

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值