Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 机器人向导、机器人贷款人和Eclipse_Android_Eclipse_Roboguice - Fatal编程技术网

Android 机器人向导、机器人贷款人和Eclipse

Android 机器人向导、机器人贷款人和Eclipse,android,eclipse,roboguice,Android,Eclipse,Roboguice,我使用RoboGuice 3.0 alpha-2,已经使用了很长一段时间,我对它很满意。现在我想升级到RoboGuice-3.0或-3.01,但我无法开始工作 “我使用Eclipse,我在一些项目中使用Android Studio,但我真的不喜欢它,”RoboBlender抱怨说AnnotationDatabaseImpl不存在。当我禁用Roboblender时,我 E/AndroidRuntime(18825): FATAL EXCEPTION: main E/AndroidRuntime(1

我使用RoboGuice 3.0 alpha-2,已经使用了很长一段时间,我对它很满意。现在我想升级到RoboGuice-3.0或-3.01,但我无法开始工作

“我使用Eclipse,我在一些项目中使用Android Studio,但我真的不喜欢它,”RoboBlender抱怨说AnnotationDatabaseImpl不存在。当我禁用Roboblender时,我

E/AndroidRuntime(18825): FATAL EXCEPTION: main
E/AndroidRuntime(18825): java.lang.NoClassDefFoundError: com.google.inject.internal.util.$Maps
E/AndroidRuntime(18825):    at com.google.inject.assistedinject.BindingCollector.<init>(BindingCollector.java:34)
E/AndroidRuntime(18825):    at com.google.inject.assistedinject.FactoryModuleBuilder.<init>(FactoryModuleBuilder.java:206)
E/AndroidRuntime(18825):    at com.loqli.android.robo.GossipModule.configure(GossipModule.java:260)
E/AndroidRuntime(18825):    at com.google.inject.AbstractModule.configure(AbstractModule.java:78)
E/AndroidRuntime(18825):    at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:252)
E/AndroidRuntime(18825):    at com.google.inject.spi.Elements.getElements(Elements.java:107)
E/AndroidRuntime(18825):    at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:135)
E/AndroidRuntime(18825):    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
E/AndroidRuntime(18825):    at com.google.inject.Guice.createInjector(Guice.java:100)
E/AndroidRuntime(18825):    at com.google.inject.Guice.createInjector(Guice.java:87)
E/AndroidRuntime(18825):    at roboguice.RoboGuice.createGuiceInjector(RoboGuice.java:186)
E/AndroidRuntime(18825):    at roboguice.RoboGuice.getOrCreateBaseApplicationInjector(RoboGuice.java:151)
E/AndroidRuntime(18825):    at roboguice.RoboGuice.getOrCreateBaseApplicationInjector(RoboGuice.java:90)
我回到了alpha-2,但现在我想知道,RG和RB是否应该与Eclipse和ant一起工作


编辑:我提到了Eclipse。我对它在Android Studio上的工作方式不感兴趣,我想知道如何使它在Eclipse中工作

AnnotationDatabaseImpl类由RoboBlender在编译时生成

您可以使用包名将以下内容指定为Java编译器参数

-AguiceAnnotationDatabasePackageName=some.package.name.here
这将在编译时生成所需的类

然后在清单中,您需要指向同一个包

 <meta-data android:name="roboguice.annotations.packages" android:value="some.package.name.here"/>
对于maven设置,请参考以下答案:


在eclipse中,正确的方法是。它并没有让这个工作,虽然看到贝娄

Maven-工作解决方案 下面是我如何让它工作的——使用Maven。Maven生成注释数据库,以目标\生成的源\注释。因此,我只是简单地将此路径添加为eclipse中的源文件夹,瞧,不再有java.lang.ClassNotFoundException:AnnotationDatabaseImpl

蚂蚁相似解? 从你的问题来看,我猜你在用蚂蚁?!也许你可以代替maven

Eclipse注释处理器——进一步的方法 如前所述,我第一次尝试使用eclipse注释处理器,几乎可以正常工作。 我添加到工厂路径。对于RoboBlender 3.0.1,这是

,它的依赖性 及其依赖关系 和 . 因为我对注释数据库使用多个模块,所以我添加了处理器选项guiceAnnotationDatabasePackageName

这导致我的eclipse错误日志中出现一条信息消息,表示无法生成注释数据库,这正是。 不幸的是,这里没有stacktraces或任何东西,所以我放弃了这里,并使用maven找到了解决方案,如上所述。也许其他人可以在这里找到丢失的那块?
如果有帮助,您可以找到我使用RoboBlender的项目。

Ah。我做了清单上的事,但不是财产。我会尝试。但我想我迟早会切换到Android Studio,不幸的是……我添加了java编译器参数,我的清单中已经有元数据行,但它仍然不会生成AnnotationDatabaseImpl文件。我在Intellij中这样做,并完成了完整的重建。您应该能够在生成的源代码和目标类目录下看到类的突然出现。如果没有meta标记,它会在classes目录的根目录中生成一个类,没有包名。不幸的是,我现在已经切换到Android Studio,所以这个问题对我来说不再那么重要了。