2012-04-17 3 views
1

Я хотел, чтобы загрузить веб-страницу с помощью Apache Camel, и, к сожалению, мои усилия были остановлены ужасной стеной ошибок, все из которых, кажется, быть вызван:Apache Camel не может найти сервлет класс

java.lang.NoClassDefFoundError: javax/servlet/ServletInputStream 

Я считаю, это очень запутанно, поскольку это похоже на класс из стандартной библиотеки.

Я создал проект в затмении, и в ссылочных библиотек у меня есть:

  • SLF4J-апи-1.6.4.jar
  • SLF4J-простой 1.6.4.jar
  • верблюда жильный -2.9.1.jar
  • верблюжьей http4-2.9.1.jar

код класса, который должен сделать эту работу:

package camelexample; 

import org.apache.camel.CamelContext; 
import org.apache.camel.builder.RouteBuilder; 
import org.apache.camel.impl.DefaultCamelContext; 

public class HttpDownload { 
    public static void main(String[] args) throws Exception{ 
    System.out.print("download"); 

    CamelContext context = new DefaultCamelContext(); 
    context.addRoutes(new RouteBuilder(){ 
     public void configure(){ 
     from("http://www.ii.uni.wroc.pl/~gst/").to("file:data/webpage.html"); 
     } 
    }); 

    context.start(); 
    Thread.sleep(10); 
    context.stop(); 
    } 
} 

Чтобы запустить проект, я просто использую кнопку запуска «затмение». Что я делаю не так?

+0

надстройку 'зависимости javax.servlet-api' Maven, чтобы решить ее. ' javax.servlet javax.servlet-api 3.0.1' – Braj

ответ

1

Вам нужно добавить JAR с Servlet API, например, этот Jar

org.apache.geronimo.specs: Джеронимо-servlet_2.5_spec: банку: 1.1.2: компилировать

Вы можете найдите его в центре maven repo по адресу: http://repo2.maven.org/maven2/org/apache/geronimo/specs/geronimo-servlet_2.5_spec/1.1.2/

А затем добавьте этот JAR в свой путь к классу.

И так как вы используете верблюд-http4, который использует Apache HTTP Client 4.x вам нужны его зависимости, а

[INFO] +- org.apache.httpcomponents:httpclient:jar:4.1.3:compile 
[INFO] | +- org.apache.httpcomponents:httpcore:jar:4.1.4:compile 
[INFO] | +- commons-logging:commons-logging:jar:1.1.1:compile 
[INFO] | \- commons-codec:commons-codec:jar:1.4:compile 
Смежные вопросы