2016-12-06 53 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