運行gradle run時出現此錯誤:
1) [Guice/MissingImplementation]: No implementation for ViewLoader was bound.
Requested by:
1 : ModuleManager.<init>(ModuleManager.java:105)
\_ for 3rd parameter
at AppInitializer.moduleManager(AppInitializer.java:37)
\_ for field moduleManager
while locating AppInitializer
Learn more:
這是ModuleManager.java的一部分,其中有錯誤
@Inject
public ModuleManager(
AuthService authService,
MetaModuleRepository modules,
ViewLoader viewLoader,
ModelLoader modelLoader,
I18nLoader i18nLoader,
DataLoader dataLoader,
DemoLoader demoLoader) {
this.authService = authService;
this.modules = modules;
this.viewLoader = viewLoader;
this.dataLoader = dataLoader;
this.demoLoader = demoLoader;
metaLoaders = ImmutableList.of(modelLoader, viewLoader, i18nLoader);
}
這是viewloader.java的一部分:
public abstract class ViewLoader extends AbstractParallelLoader {
private static final Logger LOG = LoggerFactory.getLogger(ViewLoader.class);
@Inject private ObjectMapper objectMapper;
@Inject private MetaViewRepository views;
@Inject private MetaSelectRepository selects;
@Inject private MetaActionRepository actions;
@Inject private MetaMenuRepository menus;
@Inject private MetaActionMenuRepository actionMenus;
@Inject private GroupRepository groups;
@Inject private XMLViews.FinalViewGenerator finalViewGenerator;
private final Set<String> viewsToGenerate = ConcurrentHashMap.newKeySet();
private final Map<String, List<String>> viewsToMigrate = new ConcurrentHashMap<>();
private final Map<String, List<Consumer<Group>>> groupsToCreate = new ConcurrentHashMap<>();
我希望這足以作為來源,我不能發布所有代碼。我不知道錯誤是什么意思。
uj5u.com熱心網友回復:
ViewLoader是一個抽象類。Guice 只是說你需要提供一些它可以實體化的東西。Guice 無法實體化抽象類。因此,提供具有具體實作的系結:
class MyViewLoader extends ViewLoader {
// Implement abstract methods.
}
然后在你的模塊中系結實作:
@Override public void configure() {
bind(ViewLoader.class).to(MyViewLoader.class);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/498236.html
上一篇:引起:org.gradle.plugin.internal.InvalidPluginIdException:pluginid'androidx.navigation:navigation-
下一篇:世博會apk未加載
