2008-05-19

maven 学习

关键字: maven
Maven2是类似Ant得java项目构建工具,能够帮助我们很好的构建项目。
  首先,下载maven2:http://maven.apache.org
  Maven2得使用:
  1.将下载的Maven2得包解压到任意目录.配置环境变量.MAVEN_HOME:你得解压缩目录 PATH :%MAVEN_HOME%/bin
2.测试安装情况,在命令行输入: mvn -v 出现 Maven version: 2.0.4 表示安装成功
3.修改配置文件:去maven目录下得conf找到Setting.xml,修改其中的
  <localRepository>D:\soft\LoaclRepository</localRepository>
  这个路径表示本地资源库的位置。
4. 创建项目
  mvn archetype:create -DgroupId=org.zhyh -DartifactId=my-app
项目创建前,会看到maven从网上下载多个项目用到的.jar文件, 项目创间完成后可以看到Maven2为我们创建的目录结构。
   5.常用命令
 mvn compile 编译
 mvn test 执行所有的test用例
 mvn test-compile 编译所有的test用例
 mvn package  编译后打包
 mvn install 将编译和打包好的文件发布到本地repository
 mvn idea:idea
mvn eclipse:eclipse 创建项目文件,如果要创建eclipse项目文件。用mvn eclipse:eclipse
  6.设置项目的依赖项
  在以前的java项目中,管理java依赖是非常复杂和繁琐的,现在可以通过Maven2管理依赖。
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
   配置了这个依赖项,运行项目前Maven2会自动下载junit得.jar包存于本地文件库中。
   scope参数,配置运行时参数,表明scope的参数表明。
--compile:默认值。表明是所有任务所需的资源
--test:运行所有的测试用例时所需资源
--runtime:表明是运行时所需资源
--provided:JDK部分或应用服务器的classpath所需的资源
   7.将多个项目构建于项目之中
   如何在一个主目录构件多个项目呢。Maven也为我们提供了简单的办法。
   <project>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.zhyh</groupId>
   <version>1.0-SNAPSHOT</version>
   <artifactId>my-app</artifactId>
   <packaging>pom</packaging>
   <modules>
   <module>module</module>
   <module>dao</module>
   <module>service</module>
   <module>web</module>
   </modules>
   </project>
这里声明了子项目。
我们来生命子项目的依赖项,
DAO:的依赖项
<dependencies>
<dependency>
<groupId>org.zhyh</groupId>
<artifactId>module</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
service:的依赖项
   <dependencies>
<dependency>
<groupId>org.zhyh</groupId>
<artifactId>module</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.zhyh</groupId>
<artifactId>dao</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
web的依赖项:
   <dependencies>
<dependency>
<groupId>org.zhyh</groupId>
<artifactId>module</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.zhyh</groupId>
<artifactId>dao</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.zhyh</groupId>
<artifactId>service</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
   我们还需要在每个子模块中配置,以表明这个子模块隶属于哪个项目
   <parent>
   <groupId>org.zhyh</groupId>
   <artifactId>my-app</artifactId>
   <version>1.0-SNAPSHOT</version>
   </parent>
评论
发表评论

您还没有登录,请登录后发表评论