首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >卡夫卡制片人阶层没有发现例外

卡夫卡制片人阶层没有发现例外
EN

Stack Overflow用户
提问于 2018-03-13 19:48:47
回答 3查看 5.4K关注 0票数 6

我尝试用kafka实现一个简单的生产者消费者示例,并使用以下属性实现了这个示例:

代码语言:javascript
复制
Properties configProperties = new Properties();
    configProperties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"localhost:" + portNumber);
    configProperties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,"org.apache.kafka.common.serialization.ByteArraySerializer");
    configProperties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,"org.apache.kafka.common.serialization.StringSerializer");

    // Belirtilen property ayarlarına sahip kafka producer oluşturulur
    org.apache.kafka.clients.producer.Producer producer = new KafkaProducer(configProperties);

然而,当我在另一个项目(数据可视化软件的插件)中尝试完全相同的吐露和其他内容时,我得到了以下错误:

代码语言:javascript
复制
.... // Here there is some other stuff but I thing the important one is the below one
Caused by: java.lang.NoClassDefFoundError: org/apache/kafka/clients/producer/Producer
at App.MyControlPanel.<init>(MyControlPanel.java:130)
at App.CytoVisProject.<init>(CytoVisProject.java:29)
... 96 more
Caused by: java.lang.ClassNotFoundException: org.apache.kafka.clients.producer.Producer
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 98 more

在我说的第一个程序集中,我使用的是"mvn干净编译程序集:single“,而在第二个版本中,我为整个项目创建了一个jar文件。因为可视化软件需要一个jar文件来安装插件。因为每件事都是一样的(至少我找不到任何区别,我使用了相同的代码),我想问题在于构建项目的方式。这里发生何事?"mvn干净编译程序集:单机“与在IntelliJ中构建jar文件有什么区别?为什么我会有这个错误,以及如何解决这个问题?非常感谢你的帮助!

正如我在第一个答案的最后一个评论中所说的,我有一个插件,它以显化和转换为目标。在此:

代码语言:javascript
复制
<plugin>
            <groupId>com.springsource.bundlor</groupId>
            <artifactId>com.springsource.bundlor.maven</artifactId>
            <version>1.0.0.M2</version>
            <configuration>
                <outputManifest>C:\Users\USER\AppData\Local\Temp\archetype2tmp/META-INF/MANIFEST.MF</outputManifest>
                <failOnWarnings>false</failOnWarnings>
                <removeNullHeaders>true</removeNullHeaders>
                <manifestHeaders><![CDATA[Bundle-ManifestVersion: 2
Bundle-Name: CytoVisProject
Bundle-SymbolicName: CytoVisProject
Spring-DM-Version: ${pom.version}
]]></manifestHeaders>
            </configuration>
            <!-- generate the manifest automatically during packaging -->
            <executions>
                <execution>
                    <id>bundle-manifest</id>
                    <phase>package</phase>
                    <goals>
                        <goal>manifest</goal>
                        <goal>transform</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

如果我使用像下面这样的阴影插件:

代码语言:javascript
复制
<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.1.0</version>
            <configuration>

            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

它不工作,因为我需要使用显式和转换作为目标在我的插件。我如何在IntelliJ创建的jar文件中添加kafka类来解决这个问题(我不确定这是否能解决这个问题)?

EN

回答 3

Stack Overflow用户

发布于 2020-07-28 11:21:21

我找到了一个更简单的解决办法。我变了

代码语言:javascript
复制
kafkaProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,"org.apache.kafka.common.serialization.StringSerializer");

到这个

代码语言:javascript
复制
kafkaProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);

然后,我的代码运行,也作为预编译插件的一部分。

票数 1
EN

Stack Overflow用户

发布于 2018-03-13 20:11:52

问题是什么?

在编译时,kafka-clients-0.10.0.0.jar是可用的,所以代码编译成功,但是在运行时它是缺少的,因此出现了错误。

如何修复它

你有两个选择:

  • 在你的罐子里包括卡夫卡罐子
  • 将kafka JAR添加到插件的类路径
票数 0
EN

Stack Overflow用户

发布于 2021-12-08 11:09:50

此外,确保您没有对kafka的依赖-客户端标记了提供的范围。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49264736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档