Maven 學習

Huangy遠發表於2018-01-30

指令

  • 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沒有匯入該依賴,就會引用不到相關類

相關文章