mahout0.7成功编译总结

阅读更多

 

欢迎喜欢深入了解推荐系统和mahout的兄弟加入群     推荐系统之Mahout  135918911
 
一直在学习mahout,工作中使用的是0.7跑算法,进行测试,但是在使用maven导入eclipse中构建的时候出现了问题,
首先由于m2e的lifeStyle覆盖问题,两个插件不能使用,如下图

mahout0.7成功编译总结_第1张图片
 
m2e插件现在已经被eclipse托管,在看eclipse官方网站看过文档后终于找到解决方案,
http://wiki.eclipse.org/M2E_plugin_execution_not_covered
 
解决方案如下:打开我们出现问题的pom文件
例如  mahout-core下的pom文件,出错的地方,表示m2e不知道怎么处理该插件( M2E plugin execution not covered
 

mahout0.7成功编译总结_第2张图片
 
 
鼠标放到错误地方会出现
 

mahout0.7成功编译总结_第3张图片
 
 
选择第二项Mark goal run as .....,如果第三项(Discover new m2e connectors)能解决最好,有的时候eclipse会出现一些connectors更新,不过很少,大多数都是使用第二种方法解决,选择后我们会看见错误提示消失
 
同理mahout-examples下的pom文件也这样解决如下图
 

mahout0.7成功编译总结_第4张图片
 
 
同理  mahout-integration下的pom文件也这样解决如下图
 

mahout0.7成功编译总结_第5张图片
 
 
同理mahout-math下的pom文件也这样解决如下图
 


 
mahout0.7成功编译总结_第6张图片
 
 
mahout-math的pom build中插件配置是存在问题,我们最后在解决这个问题,下面继续maven问题的解决
 
我们如下图操作
 

mahout0.7成功编译总结_第7张图片
 
 
然后
 

mahout0.7成功编译总结_第8张图片
 
 
我们打开lifecycle Mapping的配置文件将全部的
  < action  >
         < ignore  />
   action  >
  换成
     < action >
         < execute />
    action  >
或者直接将下面粘贴进去


 
   
     
        org.apache.maven.plugins
        maven-antrun-plugin
        1.6
       
          run
       

     

     
        
     

   

   
     
        org.apache.maven.plugins
        maven-dependency-plugin
        2.1
       
          copy-dependencies
       

     

     
         
     

   

   
     
        org.apache.mahout
        mahout-collection-codegen-plugin
        1.0
       
          generate
       

     

     
        
     

   

 

 
注意红色部分,默认是忽略而不是执行,需要修改成执行,或者把以上直接拷贝过去
上面的maven-antrun-plugin, mahout-collection-codegen-plugin插件我们设置的都是执行
 
记得保存文件,然后在我们打开lifecycle Mapping的配置文件的配置菜单上重载红色框框下面按钮


 
 
前面说到mahout-math pom中 build配置是存在问题的,
木配置把生成的类包的存放目录添加进classpath中去
(生成路径>${project.build.directory}/generated-sources ,测试目录${project.build.directory}/generated-test-sources)
 
如果目录不同,请自己对应。
 
             
             
             
             
             
             
             
             
               ${project.build.directory}/generated-sources/mahout
              ${project.build.directory}/generated-test-sources/mahout
 
  新增多个java文件源码包,maven本身是不支持的,我们这里需要一个插件来解决这个问题
       
        org.codehaus.mojo
        build-helper-maven-plugin
       
         
            add-source
            generate-sources
           
              add-source
           

           
             
                ${project.build.directory}/generated-sources/mahout
             

           

         

         
            add-test-source
            generate-sources
           
              add-test-source
           

           
             
                ${project.build.directory}/generated-test-sources/mahout
             

           

         

       

     
 
或者我们直接粘贴0.8版本的build配置,0.8修正了这个问题,下面是0.8的配置
 

    install

   
     
        org.apache.maven.plugins
        maven-compiler-plugin
       
          1.6
          1.6
       

     


     
        org.apache.mahout
        mahout-collection-codegen-plugin
       
         
            generate-sources
           
              generate
           

           
             
             
             
             
             
             
             
             
              ${project.build.directory}/generated-sources/mahout
              ${project.build.directory}/generated-test-sources/mahout
           

         

       

     


     
        org.codehaus.mojo
        build-helper-maven-plugin
       
         
            add-source
            generate-sources
           
              add-source
           

           
             
                ${project.build.directory}/generated-sources/mahout
             

           

         

         
            add-test-source
            generate-sources
           
              add-test-source
           

           
             
                ${project.build.directory}/generated-test-sources/mahout
             

           

         

       

     


     
     
        org.apache.maven.plugins
        maven-jar-plugin
       
         
           
              test-jar
           

            package
         

       

     


     
        maven-javadoc-plugin
     


     
        maven-source-plugin
     


     
        org.apache.maven.plugins
        maven-remote-resources-plugin
       
          ../src/main/appended-resources
         
            org.apache:apache-jar-resource-bundle:1.4
         

         
            supplemental-models.xml
         

       

     

   

 
 
 
更新配置
 

mahout0.7成功编译总结_第9张图片
 
 
或者我们直接把下面改好的配置替换原有build配置(下面的是0.8的配置) ,建议还是使用上面第一种
 
 
 
运行maven插件  clean install -Dmaven.test.skip=true -e -X
 
 
下面是apache的一个下载正式版本的依赖,对有些人可能有用
         
               apache.releases
               Apache Snapshot Repository
               https://repository.apache.org/service/local/repositories/releases/content/
         

 

  • mahout0.7成功编译总结_第10张图片
  • 大小: 11.3 KB
  • mahout0.7成功编译总结_第11张图片
  • 大小: 14.5 KB
  • mahout0.7成功编译总结_第12张图片
  • 大小: 11.3 KB
  • mahout0.7成功编译总结_第13张图片
  • 大小: 18 KB
  • mahout0.7成功编译总结_第14张图片
  • 大小: 13.6 KB
  • mahout0.7成功编译总结_第15张图片
  • 大小: 13.4 KB
  • mahout0.7成功编译总结_第16张图片
  • 大小: 16.4 KB
  • mahout0.7成功编译总结_第17张图片
  • 大小: 14.6 KB
  • mahout0.7成功编译总结_第18张图片
  • 大小: 30.2 KB
  • mahout0.7成功编译总结_第19张图片
  • 大小: 4.5 KB
  • mahout0.7成功编译总结_第20张图片
  • 大小: 173.3 KB
  • 查看图片附件

你可能感兴趣的:(hadoop,mahout,推荐,机器学习,算法)