Maven 学习

指令

  • mvn test
  • mvn install
    maven通过install将本地工程打包成jar包,放入到本地仓库中
  • mvn deploy
    在整合或者发布环境下执行,将最终版本的包拷贝到远程的仓库,使得其他的开发者或者工程可以共享。
  • mvn clean
    将生成的编译文件移除(主要是target下的文件)
  • -Dmaven.test.skip=true
    忽略测试文件

配置远程仓库:

    <profiles>  
      <profile>  // 配置文件 
      <id>cdh</id> 
      <repositories>    
        <repository>  // 仓库    
          <id>hadoop-cdh</id>    
          <name>cloudera</name>    
          <url>https://repository.cloudera.com/content/repositories/releases/</url>    
          <releases>    
            <enabled>true</enabled>    
          </releases>    
          <snapshots>    
            <enabled>false</enabled>    
          </snapshots>    
        </repository>    
      </repositories>       
    </profile>
   </profiles> 
   <activeProfiles>  
    <activeProfile>cdh</activeProfile>  // 配置为立即启用
   </activeProfiles>  

Maven配置常见坑

1、循环依赖导致包不可见(JVM无法找到对应jar包),利用dependencies tree找到循环依赖的包,exclude掉

意思是打开 点击项目右键 > Analyze > Module Dependencies ,出问题的项目会显示为红色,然后红色的项目之间存在循环依赖问题,查看一下pom文件并去掉重复依赖就好了。

2、本身就是包缺失,直接添加依赖即可,注意版本是否对
3、出现了两个版本的jar版
4、把A包excluse掉,也有可能导致依赖A包的类找不到
5、maven父pom导入了包,但是module模块不一定导入了。比如父pom在dependencyManagement标签中导入依赖,但是子pom没有导入该依赖,就会引用不到相关类

    原文作者:Huangy远
    原文地址: https://segmentfault.com/a/1190000013050871
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞