我的" .cfg"文件...
*.*.HM_EVALUATION_RESPONSE_DATABASE_TABLE_NAME = "Random_Table_Name";
但是当我通过Guice注释将其注入我的代码时
@Inject
@Named("HM_EVALUATION_RESPONSE_DATABASE_TABLE_NAME")
private String tableName;
我收到以下错误
no implementation of com.google.inject.names.Named(value=HM_EVALUATION_RESPONSE_DATABASE_TABLE_NAME) is bound
但当我改变了我的" .cfg"归档
*.*.HM.EVALUATION_RESPONSE.DATABASE_TABLE_NAME = "Random_Table_Name";
有效。所以我的问题是Guice对注释名称的长度限制有一些影响。此外,我没有在配置文件中的任何地方使用以前注释的名称。
以下是我的配置文件夹的代码。
Appconfig.initialize(APP_NAME, null , args);
* args有--domain = build / private *,其中包含我的配置文件
final AppconfigBinder appConfigBinder = new AppconfigBinder(binder());
appConfigBinder.bindPrefix(*);
我想指出的另一件事是,配置文件中的所有其他带注释的名称绑定到一个小于20个字符的对象