iPOJO
을 사용하여 몇 가지 실험과 함께 응용 프로그램을 Apache Felix
에서 수행하고 있습니다.JavaFX 응용 프로그램에서 iPOJO 사용
먼저 I 다른 클래스의 Application.launch()
메소드를 호출하고 다음과 같이 iPOJO @Requires
를 포함하는 다른 클래스 시작이다
java.lang.IllegalStateException: Toolkit not initialized
하지만 구현 클래스있는
iPOJO
를 발생
public class JavafxApp extends Application {
@Override
public void start(Stage primaryStage){
/* Do nothing here because I thought I can initialize JavaFX in a different class */
}
public static void start(){
Platform.runLater(() -> {
launch(JavafxApplication.class);
});
}
}
@Component
@Instantiate
public class MyApplication {
@Requires
LibraryClass class;
@Validate
public void start(){
JavafxApp.start();
class.someMethod();
}
}
LibraryClass
인터페이스.
일부 연구 끝에 응용 프로그램이 javafx.application.Application
을 확장하는 클래스 내부에 있어야하므로 일부 구조 조정을 수행했음을 알게되었습니다.
@Component
@Instantiate
public class JavafxApp extends Application {
@Requires
LibraryClass class;
@Override
public void start(Stage primaryStage){
class.someMethod();
}
@Validate
public void start(){
launch(JavafxApp.class);
}
}
편집
LibraryClass
인터페이스 및 구현 :
@Component
@Provides
@Instantiate
public class LibraryClassImplementation implements LibraryClass {
public void someMethod(){
system.out.println("Hello Javafx using iPOJO");
}
}
public interface LibraryClass {
public void someMethod();
}
는 이제 iPOJO
가 RuntimeException
발생하고 LibraryClass
이 null
되고 응용 프로그램이 NullPointerException
가 발생합니다.
내 질문은 :
- 는이 상황에서
iPOJO
을 사용할 수 있습니까? JavaFX
응용 프로그램에서iPOJO
을 사용하는 올바른 방법은 무엇입니까? 사전에
감사합니다! : D
더 많은 정보를 포함해야합니다. LibraryClass는 어떤 모습입니까? 그것은 정확하게 ipojo-ized입니까 ?? JavafxApp은 MyApplication 또는 LibraryClass와 어떤 관련이 있습니까 ?? – Hilikus
예 인터페이스가 올바르게 ipojo 화되어 있고'ipojo-bundle' 목표로'maven-ipojo-plugin : 1.12.1'을 사용하고 있습니다. – megamoth