Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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
Java @可空不';我似乎无法与@AssistedInject合作_Java_Guice_Nullable_Assisted Inject - Fatal编程技术网

Java @可空不';我似乎无法与@AssistedInject合作

Java @可空不';我似乎无法与@AssistedInject合作,java,guice,nullable,assisted-inject,Java,Guice,Nullable,Assisted Inject,我有一个如下所示的构造函数: @Inject public MyClass( @Named("config") String configFile, @Named("template") String templateFile, CachedSettings settings, @Assisted String channelId, @Nullable @Assisted("NetworkA") NetworkInt

我有一个如下所示的构造函数:

@Inject
public MyClass(
        @Named("config") String configFile,
        @Named("template") String templateFile,
        CachedSettings settings,
        @Assisted String channelId,
        @Nullable @Assisted("NetworkA") NetworkInterface localNetworkInterfaceA,
        @Nullable @Assisted("NetworkB") NetworkInterface localNetworkInterfaceB) {
我得到以下错误(两次,每个参数一次)

1)在my.company.package.MyClassFactory.create()处绑定返回null
但是my.company.package.MyClass()的参数4不可@Nullable
查找用@com.google.inject.assistedinject.assided(value=NetworkA)注释的java.net.NetworkInterface时
对于my.company.package.MyClass中的参数4。(MyClass.java:24)
查找带有接口com.google.inject.assistedinject.assistedinject注释的my.company.package.MyClass时
你知道怎么了吗?我在这个问题上发现了另外两个问题,其中一个说它是一个我认为我没有的,另一个说它是一个,我确实使用过,但是我从头开始刷新、清理并重建了我的maven项目,所以我不确定问题出在哪里


我正在使用,它应该在运行时保留。我还应该尝试什么?

@Nullable
需要在构造函数和工厂声明上设置。我们使用
FactoryModuleBuilder
来申报我们的工厂。我正在粘贴适用于我们的相关代码位

建造商: 摘要工厂: Factory模块生成器: 电话: 相关版本:

  • Guice:
    Guice-3.0-no\u aop.jar
  • AssistedInject:
    guice-AssistedInject-3.0.jar
  • JSR305:
    JSR305-1.3.9.jar
-k

1) null returned by binding at my.company.package.MyClassFactory.create()
 but parameter 4 of my.company.package.MyClass.<init>() is not @Nullable
  while locating java.net.NetworkInterface annotated with @com.google.inject.assistedinject.Assisted(value=NetworkA)
   for parameter 4 at my.company.package.MyClass.<init>(MyClass.java:24)
  while locating my.company.package.MyClass annotated with interface com.google.inject.assistedinject.Assisted
@Inject
public AddressActions(EC2Service ec2Service,
                      RequestFactory requestFactory,
                      @Assisted("spiceManager") SpiceManager spiceManager,
                      @Assisted("parent") Context parent,
                      @Assisted("publicIp") @Nullable String publicIp) {
public static interface Factory {
    AddressActions create(@Assisted("spiceManager") SpiceManager spiceManager,
                          @Assisted("parent") Context context,
                          @Assisted("publicIp") @Nullable String publicIp);
}
install(new FactoryModuleBuilder().build(AddressActions.Factory.class));
AddressActions actions = actionsFactory.create(spiceManager, getSherlockActivity(), null);