项目中使用maven

阅读更多
3. 项目中使用maven

Maven 远程仓库配置文件: 
    $M2_HOME/lib/maven-model-builder-3.3.3.jar 文件:
    org\apache\maven\model\pom-4.0.0.xml 
     
     
    central 
    Central Repository 
    https://repo.maven.apache.org/maven2 
    default 
    
    false 
     
     
    

user-service依赖user-dao
1. user-dao右键run as --> Maven install
2. user-service中pom.xml根据user-dao的pom.xml的信息依赖导入
user-dao的pom.xml的信息
  com.andrew.user
  user-dao
  0.0.1-SNAPSHOT
  jar
user-service的pom.xml导入依赖
  
    com.andrew.user
    user-dao
    0.0.1-SNAPSHOT
  

新建maven web项目
1. Maven --> Maven Project
2. maven-archetype-webapp 1.0
3. 信息
Group Id: com.andrew.user-service
Artifact Id: user-web
Version: 0.0.1-SNAPSHOT
Package: com.andrew.controller


新建maven项目
1. Maven --> Maven Project
2. create a simple project
3. 信息
Group Id: com.andrew.user
Artifact Id: user-aggregator
Version: 0.0.1-SNAPSHOT
Package: pom
其中

    ../user-dao
    ../user-service


user-parent的pom.xml
com.andrew.user
user-parent
0.0.1-SNAPSHOT
pom

    ../user-dao
    ../user-service


user-dao的pom.xml引入parent
原来的pom.xml
com.andrew.user
user-dao
0.0.1-SNAPSHOT
jar
现在的pom.xml

    com.andrew.user
    user-parent
    0.0.1-SNAPSHOT
    ../user-parent/pom.xml
    
user-dao
jar

user-service的pom.xml引入parent
原来的pom.xml
com.andrew.user
user-service
0.0.1-SNAPSHOT
jar
现在的pom.xml

      com.andrew.user
    user-parent
    0.0.1-SNAPSHOT
    ../user-parent/pom.xml
      
user-service
jar

使用pom统一管理jar版本


    
        org.mybatis
        mybatis
        3.3.0
    



使用pom统一管理jar版本,同时抽取版本号统一管理

    4.1.7.RELEASE
    4.12
    1.2.17



 
    
        org.springframework
          spring-core
          ${spring.version}
    
    
        log4j
        log4j
        ${log4j.version}
    



通过scope控制本地运行,测试,打包时候的jar包依赖权限

    javax.servlet
    javax.servlet-api
    provided

provided打包时不会打包,运行时调用tomcat自己的servlet jar包

注:
maven依赖范围
classpath分为三种:编译classpath、测试classpath、运行classpath
scope选项:
Compile编译依赖范围:默认就是compile,在编译,测试,运行都有效;
Test:测试依赖范围,仅测试有效:例如:JUnit;
Provided:已提供依赖范围。编译,测试有效,运行时无效。例如:servlet-api;
System:系统依赖范围。(了解即可)使用system范围的依赖必须通过systemPath指定依赖文件的路径。
Import:导入依赖范围。(了解即可)使用dependencyManagement时候,可以导入依赖配置。

你可能感兴趣的:(maven)