【maven】maven各種奇葩問題

来源:http://www.cnblogs.com/sxdcgaq8080/archive/2016/06/16/5591778.html
-Advertisement-
Play Games

問題1:Could not calculate build plan: Plugin org.apache... 不能成功創建maven項目 解決方法1: 問題2: 轉Maven project是生成的pom.xml文件錯誤——Unknown packaging:apk以及Failed to col ...


問題1:Could not calculate build plan: Plugin org.apache... 不能成功創建maven項目

 

 

解決方法1:

http://repo1.maven.org/maven2這個中央倉庫地址已經被屏蔽了,不能訪問,所以maven用到的插件和jar下載失敗,且你的電腦上的本地倉庫.m2並沒有下載好maven的插件等,項目自然不能正常執行maven命令。解決方法,1.如果沒有私服(例如nexus),那麼就把‘另外電腦中‘的本地倉庫.m2目錄拷貝到你的電腦上,併在maven conf settings.xml裡面設置<localRepository>為.m2目錄。2.有私服,就在settings.xml裡面配置nexus地址,從它上面下載。

 

問題2:

轉Maven project是生成的pom.xml文件錯誤——Unknown packaging:apk以及Failed to collect dependencies for xxx.xx.…….generation2:android-maven.plugin:3.5.3...

描述,因為錯誤沒辦法重現了,所以也記不太清楚具體的錯誤內容,不過錯誤提示分別在<packaging>apk</packaging>和第一行處 解決辦法,添加本地庫支持,因為中央庫的東西有時候連接不上獲取不了,所以我們使用本地的   <repositories>
      <repository>
          <id>my-internal-site</id>
          <url>file:///${env.HOME}/.m2/repository</url>
      </repository>
  </repositories> 也許是這個原因吧,我也不清楚,不過這樣的確不報錯了。   問題3:   pom.xml文件錯誤——Cannot read lifecycle mapping metadata for artifact…… 描述,這個錯誤是在problems這個試圖裡看到的,指向pom.xml文件的第一行,網上查到的解決辦法是刪除~\.m2\repository這個文件夾,然後本地庫重新從中央庫下載   問題4:   執行命令mvn clean install出錯——could not found tool ‘aapt’ 描述,SDK裡面aapt.exe是用來打包apk文件的,不過它的位置很詭異,api4是位於platforms文件夾的android-4文件夾下的tools文件夾里,而api17則是位於build-tools的17.0.0文件夾下,Maven似乎在執行命令的時候會在pom.xml文件找platform屬性,如果是4,那麼就去對應的platforms文件夾的andoird-4文件夾下麵找aapt.exe,但是如果是10,這是找不到的,因為沒有android-10\tools\aapt.exe這個文件,所以當然報錯 解決辦法,我們需要手動拷貝,將build-tools\17.0.0下的所有內容拷貝到android-10\tools文件夾內(需要自己創建tools文件夾)。為什麼用17.0.0下的aapt.exe,下麵還會說到。   問題5:   執行命令mvn clean install出錯——MojoExecutionException: ANDROID-040-001: Could not execute: Command …… 描述,大致上就是說沒辦法執行一個aapt命令,類似於這樣的一個命令無法執行 D:\Android\Android_SDK\platforms\android-4\tools\aapt.exe package -m -J G:\工程文件\Eclipse3\aaa\target\generated-sources\r -M G:\工程文件\Eclipse3\aaa\AndroidManifest.xml -S G:\工程文件\Eclipse3\aaa\res --auto-add-overlay -A G:\工程文件\Eclipse3\aaa\assets -I D:\Android\Android_SDK\platforms\android-4\android.jar 我們單獨在控制台執行這個命令,得到的輸出是“命令行太長”,我真無語了。 解決辦法,想辦法縮減文件夾的結構。。。。   問題6:   執行命令mvn clean install出錯——MojoExecutionException: ANDROID-040-001: Could not execute: Command …… 描述,命令縮減之後依然無法執行,不過這時候的命令是這樣的 D:\Android\Android_SDK\platforms\android-4\tools\aapt.exe package -f -M G:\a\aaa\AndroidManifest.xml -S G:\a\aaa\res --auto-add-overlay -A G:\a\aaa\target\generated-sources\combined-assets\assets -I D:\Android\Android_SDK\platforms\android-4\android.jar -F G:\a\aaa\target\aaa.ap_ --debug-mode 多了一個--debug-mode,我們單獨在控制台執行這個命令,會發現提示顯示的是aapt不支持--debug-mode這個參數,尼瑪,簡直坑爹有沒有。然後我用了build-tools下麵的aapt.exe發現可以使用這個參數,於是你明白了之前為什麼我要拷貝17.0.0文件夾下的aapt.exe了 解決辦法,刪掉android-4下麵的aapt相關文件,從17.0.0文件夾下拷貝東西過來。   問題7: 在Eclipse右鍵項目選擇Run as-maven install出錯——complier could not found,Perhaps you are running on a JRE rather than a JDK 描述,不是急的太清了,反正意思就是找不到編譯器,說我們可能使用安裝的jre運行而不是jdk裡面的jre運行。 解決辦法,window-Preferences-java-installed JREs,選擇add,找到自己的jdk路徑,確定之後選擇jdk,不要選擇jre   問題8: 在pom.xml添加dependency時出錯誤——Missing artifact…… 描述,修改pom.xml並保存,maven就會去連接中央庫(可能是企業內部的)來更新本地庫,有時候網路狀況不佳的時候會出現連接中央庫timeout,那麼此時就會出現missing artifact錯誤了 解決辦法,在.m2/repo...文件夾下麵找到這個artifact的文件夾,刪掉,然後重新保存pom.xml,當然如果依然timeout,自己想辦法吧。

問題9: no android sdk path could be found
描述,有時候maven沒辦法找到sdk的路徑,即使你配置了ANDROID_HOME環境變數,這時候需要在$HOME/.m2文件夾下創建setting.xml文件,向其中加入以下配置信息
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> 
<profiles> 
<profile> 
<id>android</id> 
<properties> 
<android.sdk.path> PATH / TO / THE / ANDROID / SDK </android.sdk.path> 
</properties> 
</profile> 
</profiles> 
<activeProfiles> 
<!--make the profile active all the time --> <activeProfile>android</activeProfile> </activeProfiles> 
</settings>

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 用Qt做ARM,發現Qt4中QTabWidget原生的關閉按鍵(X)太小,用觸摸板很難按到。於是乎想到類似於瀏覽器的雙擊關閉功能,因為之前做過C#的資源管理器,以為可以直接綁定DoubleClick,可後來翻遍了也沒找到相應的SLOT,結果在QWidget中捕捉信號,就是沒有QTabWidget標簽 ...
  • 【正文】 面試必問關鍵詞:JVM垃圾回收、類載入機制。 先把本文的目錄畫一個思維導圖:(圖的源文件在本文末尾) 一、Java引用的四種狀態: 強引用: 用的最廣。我們平時寫代碼時,new一個Object存放在堆記憶體,然後用一個引用指向它,這就是強引用。 如果一個對象具有強引用,那垃圾回收器絕不會回收 ...
  • PHP 全局變數 PHP中預定義了幾個超級全局變數(superglobals) ,這意味著它們在一個腳本的全部作用域中都可用。 你不需要特別說明,就可以在函數及類中使用。 PHP 超級全局變數列表: $GLOBALS $_SERVER $_REQUEST $_POST $_GET $_FILES $ ...
  • 在scala里,類繼承有兩點限制: 重寫方法需要使用override關鍵字; 只有主構造函數才能往父類構造函數中傳參數。 在java1.5中引入了override註解,但不強制使用。不過在scala中要想重寫方法必須使用override關鍵字。如果確實重寫了父類的方法又不使用override關鍵字的... ...
  • 最早見過手寫的,類似於下麵這種: 輸出如下: 另外一種方法是使用timeit模塊,使用方法如下: 還可以在命令行上使用這種timeit模塊,如下: 註意:timeit模塊會多次運行程式以獲得更精確的時間,所以需要避免重覆執行帶來的影響。比方說x.sort()這種操作,因為第一次執行之後,後邊已經是排 ...
  • 我想學ruby以後開髮網站,但ruby是高級語言,隱藏了許多底層的東西,因此先熟悉c語言 首先c程式的文件名是以.c結尾的 c程式的格式: 第一行#include<stdio.h> #是一個預處理標準,用來對文本進行預處理操作,表示該行代碼要最先進行處理,在編譯代碼之前運行 include是一個指令 ...
  • 以下內容轉自博客:http://blog.chinaunix.net/uid-22670933-id-1771613.html。 一、字元編碼是怎麼回事 0. 概念 位元組是電腦的最基本存儲單位,一個位元組包括8個位. 字元是一種文字的基本單位,比如'A' 是一個字元,'漢' 也是一個字元. 1. 計 ...
  • zookeeper 單機安裝配置 1、安裝前準備 linux系統(此文環境為Centos6.5) Zookeeper安裝包,官網https://zookeeper.apache.org/,演示版本zookeeper-3.4.7.tar.gz linux系統(此文環境為Centos6.5) Zooke ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...