为什么要编译源码呢?其实直接用二进制包更省事,只是为了方便读取源码和修改源码
1.直接在mahout安装目录下使用mvn install,这样mahout目录下的所有文件就都编译并打包安装,可以在各模块下的target目录中看到class目录和生成的jar包
2.如果只想编译部分,例如编译core:更换到core目录下,mvn compile,此时没有生成jar包,只生成了.class文件,之后可以mvn package在当前目录下生成jar包,然后在mvn install在本地Repository中安装jar
3.执行mvn clean后,会将target目录删掉,本地Repository中保留了相应的jar包
4.此时编译后的mahout,还是不能直接导到eclipse工程中,下载m2eclipse插件,然后新建maven project,然后在pom.xml中选择Repository中的jar包导进来
如何将mahout源码导到eclipse中
方法一:
1.安装m2eclipse插件,http://m2eclipse.sonatype.org/installing-m2eclipse.html,按照提示,一步步在线下载和安装插件,当然也可以直接到m2eclipse官网上下载插件,然后放到eclispe的安装目录下的plugins目录中,然后file->import->Maven->Existing Maven Projects,然后选择要导入的模块,编译完后,可以看到此时mahout安装目录下的各模块目录的target目录下多了classes目录,即.java源文件编译生成后的.class
方法二:
此种方法不需要安装m2eclipse插件
1.在mahout安装目录下,用mvn eclipse:eclipse,此时已生成eclipse的关联文件
2.如果mahout没经过编译,即本地Repository没有相关mahout的jar包的话,在mahout源码目录下,先使用mvn -Declipse.workspace= eclipse:add-maven-repo,如果Repository有相关jar包了,这一步省掉
3.打开eclipse,导入mahout中的各个项目,发现报错,提示少M2_REPO变量,然后在eclipse中Open Window > Preferences > Java > Build Path > Classpath Valirables ->“New” and Add Name as “M2_REPO” and Path as Maven 2 repository path ,详见参考资料
本人在windows环境下使用的第一种方法编译的mahout源码,使用第二种方法在ubuntu环境下编译的mahout源码
参考资料: