1. 程式人生 > >使用Maven 編譯 storm 原始碼可能碰到下載依賴jar 的問題

使用Maven 編譯 storm 原始碼可能碰到下載依賴jar 的問題

網上很多檔案使用 lein 編譯 storm 原始碼,但是我下載的版本 apache-storm-0.9.2-incubating 中沒有lein 工程檔案,而是有 pom.xml,可以使用maven 編譯。

在storm 工程的最上層目錄執行: mvn package -DskipTests=true

可能會碰到錯誤如下描述(jackson-core-2.0.6 只是一個例子):

Failed to execute goal org.apache.maven.plugins:maven-remote-resources-plugin:1.2.1:process (default) on project storm: Failed to resolve dependencies for one or more projects in the reactor. Reason:Unable to get dependency information for com.fasterxml.jackson.core:jackson-core:jar:2.0.6

: Failed to retrieve POM for com.fasterxml.jackson.core:jackson-core:jar:2.0.6:Could not transfer artifact com.fasterxml.jackson.core:jackson-core:pom:2.0.6 from/to central (http://repo1.maven.org/maven2/):Access denied to: http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.0.6/jackson-core-2.0.6.pom , ReasonPhrase:Forbidden.

原因可能是網路問題,不知道為什麼瀏覽器可以訪問,但是mvn 卻沒辦法下載(正真原因仍不明)。

解決方案:刪除檔案 ~/repository/com/fasterxml/jackson/core/jackson-core/2.0.6/jackson-core-2.0.6.pom.lastUpdated(路徑可能不同,可以使用 find 查詢)

然後手工下載: jackson-core-2.0.6.jar 與 jackson-core-2.0.6.pom 放到原jackson-core-2.0.6.pom.lastUpdated所在目錄下。

完成後再次執行mvn 命令即可。

另一個方案可參考: