4
저는 웹 어플리케이션에서 Seam 2 (Java EE 6을 살펴보기 시작했습니다)를 사용 해왔고 며칠 전에 Seam의 CDI가 SE에서 활용 될 수 있다는 것을 알았습니다 용접과 응용 프로그램. Weld 's Documentation 페이지 Weld SE에 따르면 설치가 쉽습니다. 그래서 HelloWeld, weld-se.jar 및 log4j jars라는 단일 클래스로 Eclipse 프로젝트를 설정하려고했습니다. Eclipse에서 매우 간단한 Weld SE 프로젝트 실행하기
@Singleton
public class HelloWeld
{
public void printHello(@Observes ContainerInitialized event, @Parameters List<String> parameters)
{
System.out.println("Hello Weld!");
}
}
나는 새로운 자바 응용 프로그램 실행 구성을 생성하고 기본 클래스로
org.jboss.weld.environment.se.StartMain
을 지적했다. 제가 프로젝트를 실행했을 때, 놀랍지도 않게, HelloWeld가 결코 호출되지 않았다는 것을 알았습니다. 내가 가지고있는 것은 Weld가 올바르게 부팅되었다는 표시로 몇 가지 로그 항목이었습니다.
11:54:39,397 INFO [weld.Version] WELD-000900 1.0.1 (Final)
11:54:39,428 INFO [weld.Bootstrap] WELD-000101 Transactional services not available. Injection of @Inject UserTransaction not available. Transactional observers will be invoked synchronously.
11:54:39,944 WARN [model.InterceptionTypeRegistry] Class 'javax.ejb.PostActivate' not found, interception based on it is not enabled
11:54:39,944 WARN [model.InterceptionTypeRegistry] Class 'javax.ejb.PrePassivate' not found, interception based on it is not enabled
그래서 나는 무엇이 누락 되었습니까?