zoukankan      html  css  js  c++  java
  • 初识Maven POM

    POM

    Project Object Model项目对象模型定义了项目的基本信息,用于描述项目如何构建,申明项目依赖,等等。

    pom元素:

    <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.fwj.TestMvn</groupId>
      <artifactId>TestMvn</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>jar</packaging>
    
      <name>TestMvn</name>
      <url>http://maven.apache.org</url>

    <project></project> 根元素。

    <modelVersion>4.0.0</modelVersion>指定当前pom模型的版本,对于Maven2和Maven3来说,它只能是4.0.0

    <groupId>com.fwj.TestMvn</groupId>groupId定义了项目属于哪个组,比如公司名字是fwj,项目名是TestMvn,那么groupId应该为com.fwj.TestMvn

    <artifactId>TestMvn</artifactId>artifactId定义了当前Maven项目在中唯一的Id。

    <version>0.0.1-SNAPSHOT</version>指定当前项目的版本,snapshot意为快照,说名该项目还处于开发阶段。

    <packaging>jar</packaging> 打包形式

    <name>TestMvn</name>对于用户给为用好的项目名称,描述项目。

    <url>http://maven.apache.org</url>

    Java项目的类的包名应该基于groupId和artifactId,这样更加清晰,更加符合逻辑,包名应该为com.fwj.TestMvn.TestMvn

    使用Maven进行编译

    在项目的根目录下使用mvn clean compile

    clean告诉Maven清理输出目录target/

    compile告诉Maven编译项目主代码

    使用Maven进行测试

    mvn clean test

    打包

    mvn clean package 没有配置打包类型,默认打包jar

    mvn clean install 安装包本地Maven仓库

    执行test之前会执行compile,执行package之前会执行test,执行install之前会执行package。

    构建项目骨架

    mvn archetype:generate

    管理依赖

    <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
      </dependencies>

     dependencies下包含多个dependency声明项目的依赖。

    <scope>test</scope>  scope表明依赖范围,若为test则表明依赖只对测试有用。如果在主代码中inport Junit代码,就会造成编译错误。如果不声明依赖翻译,则默认值就是compile,表明该代码对主代码和测试代码都有效。

  • 相关阅读:
    属性选择器
    Map
    tomcat 启动失败
    find for /f 分割字符串 bat
    oracle 1day
    scott lock
    oracle oracle sqldeveloper 12505 创建连接失败
    oracle sql developer 启动java.exe设置错误
    servlet post response.sendRedirect 乱码

  • 原文地址:https://www.cnblogs.com/mingluosunshan/p/4102692.html
Copyright © 2011-2022 走看看