分享

Maven入门

 windli笔记 2013-04-12
面将原文主要内容整理下来,原文参见网址http://www.ibm.com/developerworks/cn/education/java/j-mavenv2/index.html。其中部分地方有误,可以参看下文解决问题。

1. 新建一个项目,groupid = com.lzy.mvntest , artifactId为NumOps,和版本号一起唯一标识工程。

在命令行下 mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.lzy.mvntest -DartifactId=NumOps
该命令为 Archetype 插件提供您模块的坐标:com.ibm.devworks/NumOps/1.0-SNAPSHOT。
在此情况下,不需要指定版本,因为 Archetype 插件常默认为 1.0-SNAPSHOT。
此命令为项目创建了一个起始的 pom.xml 文件,也创建了规范的 Maven 2 目录结构。


2. 写好对应的java文件以后,在pom.xml文件里面加入以下build信息
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>(这个地方没有加上的话会报错,参考http://maven./plugins/maven-compiler-plugin/usage.html
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>
   </build>
进入到项目文件夹中使mvn compile进行编译

3. 在对应的test目录下面写测试文件,使用命令mvn test进行编译和测试

4. 在项目整合的时候, 每一个均有自己的pom.xml文件,同时在最顶层有主项目的pom.xml文件
<project xmlns="http://maven./POM/4.0.0"
  xmlns:xsi="http://www./2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven./POM/4.0.0
  http://maven./maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.ibm.devworks</groupId>
  <artifactId>mavenex2</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Example 2</name>
  <url>http://maven.</url>
<modules>
 <module>NumOps</module>
 <module>OpsImp</module>
</modules>
   <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>  
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.ibm.devworks</groupId>
            <artifactId>OpsImp</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>
其中对于junit的依赖,模块中不用重复写,因为继承了主模块的属性。
<modules>标签和打包类型为pom表示这个是一个多模块的项目
<dependencyManagement> 标记不指定此模块依赖的依赖项。
相反,它主要由子模块使用。
子模块能指定 <dependencyManagement> 标记中任何条目的依赖项,而无需指定具体的版本号。
当项目树更改依赖项的版本号时,这很有用,可以使需编辑的条目数目最小化。
在本例中,OpsImp 项目的版本号是使用 ${project.version} 指定的。
在执行 Maven 时,这是一个会被相应值所填充的参数。

5. 使用mvn test 或者mvn complie进行编译,使用mvn install进行打包。
使用mvn help:effective-pom 显示集成后的pom的内容 。

6. eclipse的maven的插件安装以及使用参考命令行下的步骤后较为简单,在此不记录。

7. 因为依赖的组件大部分是在组件库中,有时需要手动添加组件进来。在eclipse里面先要导入自己工程依赖的组件,然后再添加依赖项的功能中找到对应的。 具体方法是在项目点右键,import->install or deploy an artifact to a Maven repository,添加后,再项目点右键->maven->add dependency输出刚才导入的依赖组件即可。

如果要手动输入的话按照以下命令:

mvn install:install-file -Dfile=sqljdbc.jar -DgroupId=com.lee -DartifactId=sqljdbc -Dversion=5.1.18 -Dpackaging=jar
其中Dfile是jar包路径,依次是groupid,artifactid和版本号以及打包方式。  执行命令后需要手动将其拷入到本地仓库中,仓库地址参考maven的配置文件。然后在文件中加入相关的dependency标签或者项目即可。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多