2016-12-06 52 views
0

我正在學習匕首。但是,當我嘗試通過帶有Dagger前綴的組件創建新對象時,它會告訴我「無法解析符號」。網上搜索,很顯然我應該包括這樣的事情:無法設置匕首,組件前綴失敗

dependencies { 

    compile files('libs/dagger-2.8.jar') 
    compile files('libs/dagger-compiler-2.8.jar') 
    ... 

    apt 'com.google.dagger:dagger-compiler:2.8' code generation 
} 

但是,這是我的錯誤:

Error:Cause: unable to find valid certification path to requested target

這似乎認識到在apt命令,但不是「com.google。匕首:匕首編譯器:2.8' 。任何人都知道如何解決這個..?

感謝

+0

這聽起來像一個代理問題。嘗試連接通過不是代理後面的wifi,然後建立 –

+0

@DavidRawson看起來你是對的,這是一個代理問題。你知道是否有辦法做到脫機?它似乎只是想要我已經包含在項目中的罐子...... – Harambe

+0

你可以嘗試從[maven central](https://search.maven.org/)下載罐子並將它們放在你的'libs'中夾。另外考慮在你的手機上設置一個wifi熱點(如果它有3G/4G),連接你的電腦,然後建立 –

回答

1

見匕首文檔瀏覽:https://github.com/google/dagger

搖籃應該像這樣:

// Add Dagger dependencies 
dependencies { 
    compile 'com.google.dagger:dagger:2.8' 
    annotationProcessor 'com.google.dagger:dagger-compiler:2.8' 
} 
+0

我試過了你的建議,看了一下匕首文檔,但是我仍然得到同樣的錯誤。任何其他建議..? – Harambe

+0

@Harambe如果您有Gradle 2.2.2,則上述內容應該可以工作 - 檢查項目build.gradle文件 – Zain

+0

也許使用apt開關批註處理器 –

2

這是搖籃的問題,而不是用匕首。當您將Dagger-2的依賴添加到build.gradle並構建時,Gradle將嘗試爲您的項目下載新的依賴關係。

因此,你所得到的錯誤,當搖籃嘗試下載匕首2:

The valid certification path to requested target

這似乎是工作場所代理造成的,如果他們「人在這方面的中間人」用自己的自簽名SSL證書。您可以嘗試按照here的說明將工作場所中的證書導出到Java環境中,如果不起作用,則會有一些答案here

如果失敗了,也許你可以從Maven Central下載罐子,或者只是連接到沒有惡意代理的網絡後運行構建。

+0

您可以下載批註處理器並將其放入您的庫中,例如匕首依賴項。 – dazza5000