mahout项目是采用maven进行管理的,maven和ant一样都是项目管理的工具,它的特点在与对于第三方jar包的管理。比如项目中需要junit的jar包,只需要在pom.xml文件中加入如下代码即可:
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency>
Maven的repository就是dependency的仓库,它按照一定的规则将dependency存放起来,以作缓存,如果本机的 repository找不到某个dependency,它就会自动去找到网上其它相关联的repository,找到的话将其下载至本地,那么下次它就不再去其它地方下载了,直接从本地获取。
生成可执行jar包:
生成可执行jar,需要指定Main函数的class,Maven通过在pom.xml文件里配置实现这一点,比如指定com.mycompany.app.App的Main函数为主函数:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.mycompany.app.App</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
添加自定义jar包:
1. 首先需要设置repository的本地目录:
maven的repository本地默认目录是$(user-home)/.m2/repotitory,可以通过$(Maven-home)/conf/sitting.xml重新设置,比如:
<localRepository>/home/name/mvn/repository</localRepository>
2. 假设自定义jar为mytest-1.0.jar,则其在/home/name/mvn/repository下的目录结构为:
mytest/
`-- mytest
`-- 1.0
`-- mytest-1.0.jar
3. 运行
mvn assembly:assembly
生成jar包在targets目录下