java - 如何将包从 jar 文件导入到在 tomcat 8 上运行的 servlet 中?

标签 java tomcat servlets apache-kafka

我目前正在设置一个 tomcat8 服务器,并想在其上编写一个 servlet,它处理附加了传感器值的 POST 请求。

我希望通过在 servlet 中设置的生产者将此传感器数据发送到 Apache Kafka。我想用“How to send a message via Kafka.Producer from a java servlet to Kafka”中的代码设置一个 test-http-servlet 来学习编写我自己的代码。

但是在编译时:javac -cp/home/tobias/apache-tomcat-8.5.8/lib/servlet-api.jar HTTPServlet.java

,我收到以下消息:

HTTPServlet.java:19: 错误:包 kafka.producer 不存在 导入kafka.producer.ProducerConfig; ^ HTTPServlet.java:20: 错误:包 kafka.javaapi.producer 不存在 导入 kafka.javaapi.producer.ProducerData; ^

我确实已经将包含“kafka.producer.ProducerConfig”类的“kafka_2.11-0.10.1.0.jar”放入“WEB-INF/lib”文件夹中,但它似乎不起作用.

这个“kafka_2.11-0.10.1.0.jar”位于“kafka_2.11-0.10.1.0”的“libs”文件夹中,可以从kafka-website下载。

所以我想问一下,我将如何让它工作,如果有人知道,2. 丢失的文件在最新版本的 kafka 中的位置。

最佳答案

我通过将额外的 api.jar 文件添加到我的编译命令解决了这个问题(感谢 Strelok):javac -cp/home/tobias/apache-tomcat-8.5 .8/lib/servlet-api.jar:/home/tobias /apache-tomcat-8.5.8/webapps/HTTPServlet/WEB-INF/lib/kafka_2.11-0.10.1.0.jar HTTPServlet.java

ProducerData 的导入:import kafka.javaapi.producer.ProducerData; 不再可行,因为 ProducerData.class 已从 kafka 的 0.6 到 0.7 版本中删除。我建议使用 ProducerRecord.class(用于我的测试示例)。

关于java - 如何将包从 jar 文件导入到在 tomcat 8 上运行的 servlet 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40885690/

相关文章:

java - 使用 Oracle、Java 和 AngularJS 构建实时数据网格的策略

tomcat - 限制tomcat用户同时使用特定数量的ip或mac地址

eclipse - 定义新服务器时,只有 Tomcat v8.0 未显示在 Eclipse 中

Java - 解析 RESTful 资源 URL 的更好方法

java - 从 JSP 中的属性目录获取文本文件

java - 我如何配置 Jackson 以首先序列化基类?

java - 为什么 map 的第一个值不被第三个值覆盖?

java - MVC 和 Java-EE

java - 具有 Flex、BlazeDS、Apache Tomcat、Java 和 Hibernate 的应用程序

java - Threadlocal 用于初始化 java web 项目中的变量