자신에게 대답하려면 나는 AtomicGamer Dev Blog의 도움으로 찾은 해결책을 게시합니다.
wicket-guice는 Guice 1 만 지원하므로 Guice는 wicket-guice 확장에서 제외되어야합니다.
<dependencies>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-guice</artifactId>
<version>${wicket.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.code.guice</groupId>
<artifactId>guice</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket</artifactId>
<version>${wicket.version}</version>
</dependency>
<dependencies>
실제 통합은 addComponentInstantiationListener
메서드를 호출하는 init
방법에 발생합니다. 모든 개찰구로 사용하는 XML -
import com.google.inject.Guice;
import com.google.inject.Injector;
import org.apache.wicket.Page;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.guice.GuiceComponentInjector;
public class NavigatorApplication extends WebApplication {
@Override
public Class<? extends Page> getHomePage() {
return Startpage.class;
}
@Override
protected void init() {
super.init();
Injector injector = Guice.createInjector(new WebAppModule());
addComponentInstantiationListener(
new GuiceComponentInjector(this, injector));
}
}