Ecplise配置Maven

1.下载Maven到/opt/maven目录中,解压缩

sudo tar -zxvf maven3.5.tar.gz
  1. 配置环境变量,修改/etc/profile文件,在里面加入下面的代码
export MAVEN_HOME=/opt/maven/apache-maven-3.5.3    
export PATH=$PATH:${MAVEN_HOME}/bin
  1. 让配置文件生效
source /etc/profile
  1. 测试Maven是否安装成功
mvn -version

如果成功就会出现

Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: /opt/maven/maven3.5
Java version: 1.8.0_74, vendor: Oracle Corporation, runtime: /opt/jdk1.8.0_74/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.13.0-43-generic", arch: "amd64", family: "unix"
  1. 在Ecplise中集成Maven,打开Windows—>Preferences—>Maven—>installation选项,点击add添加maven
  1. 再点击User Settings选项把settings.xml地址填入User Settings输入框,在修改本地仓库路径为/home/root/.m2/repository(实际路径看自己心情自己选择),点击 Apply and Close关闭
  1. 修改settings.xml文件,在 注释的配置选项旁添加下面的第一行代码,然后在配置选项 中添加剩下的代码,保存。
 /home/root/.m2/repository    
  
 
      mirrorId
      central
      Human Readable Name for this Mirror.
       http://repo1.maven.org/maven2/
 

现在就可以建maven项目了,如果是第一次创建时间会比较久

  1. 项目创建完成后,如果需要jar包只需要配置项目中的pom.xml文件就行了,我的配置模板放下面

    4.0.0

    hadoop
    hdfs
    0.0.1-SNAPSHOT
    jar

    hdfs
    http://maven.apache.org

    
        UTF-8
    

    

        
            junit
            junit
            3.8.1
            test
        

        
            org.slf4j
            slf4j-api
            1.8.0-beta2
        

        
            org.slf4j
            slf4j-log4j12
            1.8.0-beta2
            test
        


        
            jdk.tools
            jdk.tools
            1.8
            system
            ${JAVA_HOME}/lib/tools.jar
        

        
            org.apache.hadoop
            hadoop-common
            2.7.3
        

        
            org.apache.hadoop
            hadoop-hdfs
            2.7.3
        

        
            org.apache.hadoop
            hadoop-client
            2.7.3
        

        
            org.apache.hadoop
            hadoop-mapreduce-client-core
            2.7.3
        

    


  1. 在Windows中的配置方法基本一样,就不记录了。但在Windows中和Linux中我分别遇到了一个小问题,记录一下。
  • 在Windows下的问题为:Missing artifact jdk.tools:jdk.tools:jar:1.8
    这是因为缺少了tools.jar包,解决方法就是在pom.xml中添加
        
            jdk.tools
            jdk.tools
            1.8
            system
            ${JAVA_HOME}/lib/tools.jar
        

这个情况我在Linux中并没发现,而且在Linux中我也没有添加上面的代码

  • 在Linux下的问题为: Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory。这个问题是我在Maven项目中运行Java操作HDFS的代码时发现的。
    这个问题的原因仍然时缺少jar包,在pom.xml添加
        
            org.slf4j
            slf4j-api
            1.8.0-beta2
        

        
            org.slf4j
            slf4j-log4j12
            1.8.0-beta2
            test
        

添加完上面的代码后,就可以使用Java读取HDFS中的文件了

  1. 至此,Ecplise中集成Maven,创建Maven项目并使用Java访问HDFS都成功完成。把之前写的HCat类拿来运行看一下。
log4j:WARN No appenders could be found for logger (org.apache.hadoop.util.Shell).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.
Hello hipeer!

补充一下Linux的scp命令:

Linux scp命令用于Linux之间复制文件和目录。

scp [可选参数] file_source file_target 

-1: 强制scp命令使用协议ssh1
-2: 强制scp命令使用协议ssh2
-4: 强制scp命令只使用IPv4寻址
-6: 强制scp命令只使用IPv6寻址
-B: 使用批处理模式(传输过程中不询问传输口令或短语)
-C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p:保留原文件的修改时间,访问时间和访问权限。
-q: 不显示传输进度条。
-r: 递归复制整个目录。
-v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试 连接,验证和配置问题。
-c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port:注意是大写的P, port是指定数据传输用到的端口号
-S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

scp local_file remote_username@remote_ip:remote_folder 
或者 
scp local_file remote_username@remote_ip:remote_file 
或者 
scp local_file remote_ip:remote_folder 
或者 
scp local_file remote_ip:remote_file 

你可能感兴趣的:(Ecplise配置Maven)