2014-11-03 4 views
1

현재 cometd 3.0.2 (최신 버전)을 사용 중입니다.어떤 jetty 버전이 cometd-3.0.2와 호환됩니까

7.4.4 부두 으로 :

java.lang.NoClassDefFoundError: org/eclipse/jetty/client/api/ContentProvider 

9.2.3 부두 으로 :

java.lang.NoClassDefFoundError: org/eclipse/jetty/util/ajax/JSON 

이는 것입니다 그것이 나에게 다음과 같은 오류를 제공하는 간단한 악수를하려고 노력 실행하려고하는 코드 :

import java.util.HashMap; 
import java.util.Map; 
import org.cometd.client.BayeuxClient; 
import org.cometd.client.transport.ClientTransport; 
import org.cometd.client.transport.LongPollingTransport; 
import org.eclipse.jetty.client.HttpClient; 

public class MyClass { 

    public static void main(String[] args) throws Exception { 

     // Create (and eventually set up) Jetty's HttpClient: 
     HttpClient httpClient = new HttpClient(); 
     // Here set up Jetty's HttpClient, for example: 
     // httpClient.setMaxConnectionsPerAddress(2); 
     httpClient.start(); 

     // Prepare the transport 
     Map<String, Object> options = new HashMap<String, Object>(); 
     ClientTransport transport = new LongPollingTransport(options, httpClient); 

     BayeuxClient client = new BayeuxClient("http://localhost:8080/cometd", transport); 
     client.handshake(); 
     boolean handshaken = client.waitFor(1000, BayeuxClient.State.CONNECTED); 
     if (handshaken) { 
      System.out.println("Yey"); 
     } 
    } 
} 

방파제은 (는) 혜 택과 호환되는 것을 알고 계십니까? 아니면 다른 cometd?

+0

maven을 사용하는 경우 pom.xml을 게시 할 수 있습니까? –

+0

나는 Maven을 사용하지 않는다. 해야합니까? 미안 해요, 이거 처음이에요. – Dimme

+0

Maven은 필수는 아니지만 의존성이 너무 많기 때문에 maven 또는 ant + ivy 또는 gradle (실제로 전이 의존성 해결을 수행하는 다른 빌드 도구)을 살펴볼 수 있습니다. 당신이 묘사하고있는 문제가 단지 잘못되었거나 누락되었거나 잘못 배치 된 유물을 비명을 지르는 것과 같습니다. –

답변

1

CometD 3은 Servlet 3.0 이상의 Servlet Container와 함께 작동합니다. Jetty 9.2.x는 사용할 서블릿 컨테이너로 권장됩니다.

그렇기 때문에 Joakim은 CometD가 다른 라이브러리에 의존하고 있다는 것을 말하고 있습니다. 그렇기 때문에이 작업을 수행하는 빌드 도구를 사용해야합니다. Maven이 권장 도구입니다.

업데이트 된 installation instructions, primertutorials을 살펴보세요.

입문서의 지침을 따르는 것이 좋습니다. Maven이 마음에 들지 않더라도 임시로 설치하고 입문서를 따라 가며 뇌관 CometD 응용 프로그램에서 뇌관이 생성되면 Maven을 제거 할 수 있습니다. 응용 프로그램 빌드).