草庐IT

dagger-compiler

全部标签

java - "compiler message file broken"- 我猜是 Java 编译器错误?

获取代码:publicclassA{publicstaticvoidmain(String[]args){newThread((newI(){})::test);}interfaceI{privatevoidtest(){}}}然后尝试编译。我收到:A.java:5:error:invalidmethodreferencenewThread(((newI(){}))::test);^compilermessagefilebroken:key=compiler.misc.cant.resolve.argsarguments=method,test,,,{4},{5},{6},{7}Whe

java - Dagger 2 单例组件依赖于单例

我在这里遇到了一个奇怪的问题,我不太确定为什么不允许我正在做的事情。我有以下模块:@ModulepublicfinalclassAppModule{privateContextmContext;@Provides@Singleton@AppContextpublicContextprovideContext(){returnmContext;}}@ModulepublicfinalclassNetModule{@Provides@SingletonpublicOkHttpClientprovideOkHttp(){returnnewOkHttpClient.Builder().buil

java - 从 Android 应用程序类刷新 Dagger 2 实例

我的模块类中有一组@Singleton和@Provides方法,用于在整个应用程序中创建Singleton实例。一切正常,除了少数瓶颈情况,如下所示:第1步。我正在从OKHttpClient创建一个带有Authtoken的Retrofit实例,以便每次都进行经过身份验证的api调用(Authtoken检索和插入是通过SharedPreferences).但是,当我通过清除数据库和共享首选项值注销应用程序后重新启动Activity时,问题就开始了。第2步。注销后,我发出另一个请求以获取身份验证token并再次插入SharedPreferences以供将来使用。第3步:现在,如果我继续其余

compiler-construction - 不同的 JDK 更新会产生不同的 Java 字节码吗?

假设场景:我有一个项目,其源代码合规性级别指定为1.5。现在,我使用两个不同的JDK编译该项目:首先使用JDK6Update7,然后使用JDK6Update20。这两个不同的JDK是否会产生不同的Java字节码,尽管它们只是更新版本不同? 最佳答案 生成的代码通常只在编译器错误修复时有所不同。但是,JLS不指定从源代码到生成的字节码的1:1映射,因此您不应依赖生成的完全相同的字节码。 关于compiler-construction-不同的JDK更新会产生不同的Java字节码吗?,我们在S

java - Dagger 2 单例不工作

使用Dagger2,我试图在单个范围内的多个位置注入(inject)一个单例对象。但是,我的解决方案似乎每次都创建一个新实例。在这个测试项目中,我有一个初始化DaggerModule的MainActivity。DaggerModule提供对象Box和Cat,其中Box以Cat作为参数。我还在我的MainActivity中加入了Cat。最后,我检查了两个注入(inject)的Cat变量的引用(分别在Box和MainActivity中),但它们不是同一个实例。如果我在MainActivity中调用provideCat()两次,则会提供相同的实例。主要Activity:publicclass

java - 如何使用 Dagger2 将依赖项注入(inject)任何类型的对象?

根据http://konmik.github.io/snorkeling-with-dagger-2.html我可以添加inject(Anythinganything)进入AppComponent.java,但这对我不起作用,在文章示例中:@Singleton@Component(modules=AppModule.class)publicinterfaceAppComponent{voidinject(MainActivityactivity);voidinject(MainFragmentfragment);voidinject(MainToolbarViewview);}如果我尝

java - Eclipse Build Project 和 Maven Compile 命令的区别

Eclipse“BuildProject”命令是否与Maven命令“mvncompile”相同?两者基本上做同样的事情吗?如果是,那么为什么我需要在运行“mvncleaninstall”后在STS中执行“BuildProject”才能顺利运行应用程序?运行“mvncleaninstall”应该已经编译了项目。刷新STS中的项目是否足以运行它?如果否,那么Eclipse构建是否不同,因为Java编译器实现了Java语言规范来构建类?但是下面的ApacheMavenlink说默认编译器是javax.tools.JavaCompiler(顺便说一句,我使用的是Java1.6)。

java - Dagger 2 生成代码中 proxyProvide 的用途

我有这个Dagger模块。我想了解生成的代码,以便验证我的Dagger配置是否最佳。@ModulepublicclassTypefaceModule{@Provides@Singleton@Named("RobotoLight")staticTypefaceprovideRobotoLight(AssetManagerassets){returnTypeface.createFromAsset(assets,"fonts/Roboto-Light.ttf");}}这是生成的代码(Dagger2.14.1):publicfinalclassTypefaceModule_ProvideRo

java - GCJ(GNU Compiler for Java)是发布 webapp 的可行工具吗?

使用GCJ发布服务端应用真的可行吗?网络应用程序?我的老板坚信将我们的(我的)网络应用程序编译成二进制可执行文件是一个绝妙的主意。(话又说回来,他喜欢漂亮的、小的、简单的东西,上面有他能理解的闪烁的灯光。)他本能地认为这没有问题,而我只看到无穷无尽的一系列问题和退化。一旦我开始和他谈论我们平台的复杂性,以及字节码、JVM、库、操作系统之间的差异、处理器架构等更深入的细节……好吧……他的眼睛呆滞了,他微笑着说他已经明确表示他认为我在幼稚地抗拒。他为什么要一个魔法可执行文件?他看到了几个“好处”:如果它是二进制可执行文件,则很难进行逆向工程和规避任何许可。管理层一直担心这种情况会发生,即使

java - 为什么 "test-jar"需要 "mvn compile"依赖项

我在多模块项目中使用test-jar依赖项时遇到问题。例如,当我像这样声明cleartk-syntax模块依赖于cleartk-token模块的test-jar时(完整代码是here):4.0.0org.cleartkcleartk-syntax0.5.0-SNAPSHOTcleartk-syntax......org.cleartkcleartk-token0.7.0-SNAPSHOTtest-jartest如果我使用maven2运行mvncompile,我会收到以下错误:[INFO]--------------------------------------------------