第一节:Maven 仓库概念

Maven 远程仓库配置文件:

$M2_HOME/lib/maven-model-builder-3.3.3.jar
文件:org\apache\maven\model\pom-4.0.0.xml
  <repositories>
    <repository>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
可以看到是从这里找的:
 
第二节:Maven 依赖特性
依赖传递和依赖选择:
maven学习(3)-Maven 核心技术
user-service依赖于spring-core,spring-core依赖于commons-logging,user-service也就依赖于commons-logging
A->B->-C->X,A依赖X,路径为三层,A->D->X,A也依赖X,路径为两层,这时只会下载A->D->X中的X jar包,不然jar包就重复了;
但是假设路径都一样,A->B->X和A->C->X,最先声明原则,只会下载A->B->X的Xjar包,后面A->C->X就不会再下载X了;
 
三、下面是一个例子
我们构建一个user项目(这里还是java项目jar,不是web),user项目分为两个模块,user-dao和user-service,
后面user-service中要使用到user-dao中的类等。
 
1.先建user-dao项目:
使用mybatis,log4j等,工程结构:
 
maven学习(3)-Maven 核心技术
 
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.cy.user</groupId>
  <artifactId>user-dao</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
      <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.3.0</version>
    </dependency>
      
      <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.22</version>
    </dependency>
    
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

UserDao.java:

package com.cy.user.dao;

import com.cy.user.entity.User;

public interface UserDao {
    
    public User login(User user);
    
}
View Code

User.java:

package com.cy.user.entity;

/**
 * 用户实体
 * @author Administrator
 *
 */
public class User {

    private Integer id; // 编号
    private String userName; // 用户名
    private String password; // 密码
    
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    
    
}
View Code

相关文章: