gpt4 book ai didi

java - Apache Camel 找不到 servlet 类

转载 作者:太空宇宙 更新时间:2023-11-04 08:17:23 25 4
gpt4 key购买 nike

我想使用 Apache Camel 下载网页,遗憾的是我的努力被可怕的错误墙阻止了,所有这些似乎都是由以下原因引起的:

java.lang.NoClassDefFoundError: javax/servlet/ServletInputStream

我发现它非常令人困惑,因为它看起来像标准库中的类。

我在 eclipse 中创建了项目,并在引用的库中创建了:

  • slf4j-api-1.6.4.jar
  • slf4j-simple-1.6.4.jar
  • camel-core-2.9.1.jar
  • camel-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();
}
}

为了运行该项目,我只使用 eclipse“运行”按钮。我做错了什么?

最佳答案

您需要使用 servlet API 添加 JAR,例如这个 JAR

org.apache.geronimo.specs:geronimo-servlet_2.5_spec:jar:1.1.2:compile

您可以在中央 Maven 存储库中找到它: http://repo2.maven.org/maven2/org/apache/geronimo/specs/geronimo-servlet_2.5_spec/1.1.2/

然后将该 JAR 添加到您的类路径中。

由于您使用的是camel-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

关于java - Apache Camel 找不到 servlet 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10198008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com