首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Java 11实现风暴爬虫

用Java 11实现风暴爬虫
EN

Stack Overflow用户
提问于 2020-11-19 12:51:26
回答 1查看 194关注 0票数 2

尝试将Java版本从Java 8更新到Java 11,以编译和运行StromCrawler。

我的问题-在Java11上支持Storm吗?

当我们在POM中更新java版本并构建项目时,我成功地构建了该项目,但是当我试图运行该项目时,我在运行InjectorTopology时得到了以下错误-

代码语言:javascript
复制
560  [main] INFO  c.a.h.c.InjectorTopology - ####### The Injector Topology Started #######
563  [main] INFO  c.a.h.c.u.PropertyFileReader - Enter Load Properties File
564  [main] INFO  c.a.h.c.u.PropertyFileReader - Exit Load Properties File
Exception in thread "main" java.lang.ExceptionInInitializerError
        at java.base/java.lang.J9VMInternals.ensureError(J9VMInternals.java:186)
        at java.base/java.lang.J9VMInternals.recordInitializationFailure(J9VMInternals.java:175)
        at clojure.lang.Namespace.<init>(Namespace.java:34)
        at clojure.lang.Namespace.findOrCreate(Namespace.java:176)
        at clojure.lang.Var.internPrivate(Var.java:151)
        at org.apache.storm.LocalCluster.<clinit>(Unknown Source)
        at com.digitalpebble.stormcrawler.ConfigurableTopology.submit(ConfigurableTopology.java:75)
        at com.vinn.hel.crawler.InjectorTopology.run(InjectorTopology.java:57)
        at com.digitalpebble.stormcrawler.ConfigurableTopology.start(ConfigurableTopology.java:50)
        at com.vinn.hel.crawler.InjectorTopology.main(InjectorTopology.java:40)
Caused by: java.lang.IllegalArgumentException: Must hint overloaded method: toArray, compiling:(clojure/gvec.clj:131:1)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6730)
        at clojure.lang.Compiler.analyze(Compiler.java:6524)
        at clojure.lang.Compiler.analyze(Compiler.java:6485)
        at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5861)
        at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6179)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6723)
        at clojure.lang.Compiler.analyze(Compiler.java:6524)
        at clojure.lang.Compiler.analyze(Compiler.java:6485)
        at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5861)
        at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5296)
        at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3925)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6721)
        at clojure.lang.Compiler.analyze(Compiler.java:6524)
        at clojure.lang.Compiler.eval(Compiler.java:6779)
        at clojure.lang.Compiler.load(Compiler.java:7227)
        at clojure.lang.RT.loadResourceScript(RT.java:371)
        at clojure.lang.RT.loadResourceScript(RT.java:362)
        at clojure.lang.RT.load(RT.java:446)
        at clojure.lang.RT.load(RT.java:412)
        at clojure.core$load$fn__1621.invoke(core.clj:5866)
        at clojure.core$load.doInvoke(core.clj:5865)
        at clojure.lang.RestFn.invoke(RestFn.java:408)
        at clojure.core$eval2892.invoke(core.clj:6497)
        at clojure.lang.Compiler.eval(Compiler.java:6782)
        at clojure.lang.Compiler.load(Compiler.java:7227)
        at clojure.lang.RT.loadResourceScript(RT.java:371)
        at clojure.lang.RT.loadResourceScript(RT.java:362)
        at clojure.lang.RT.load(RT.java:446)
        at clojure.lang.RT.load(RT.java:412)
        at clojure.lang.RT.doInit(RT.java:454)
        at clojure.lang.RT.<clinit>(RT.java:330)
        ... 8 more
Caused by: java.lang.IllegalArgumentException: Must hint overloaded method: toArray
        at clojure.lang.Compiler$NewInstanceMethod.parse(Compiler.java:8050)
        at clojure.lang.Compiler$NewInstanceExpr.build(Compiler.java:7642)
        at clojure.lang.Compiler$NewInstanceExpr$DeftypeParser.parse(Compiler.java:7523)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6723)
        ... 38 more```
EN

回答 1

Stack Overflow用户

发布于 2020-11-19 13:47:51

添加到Joachim的注释中,似乎需要Clojure 1.8才能运行Java 11。Storm 1.2.3附带了Clojure 1.7。

您可以覆盖StormCrawler项目的POM中的依赖项,但这只能在本地模式下工作。在部署模式下,还需要更改安装Storm的依赖项。

使用StormCrawler 2.x和最新的Apache可能更容易一些,因为它根本不依赖于Clojure,也可以简单地使用Java8运行它。

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

https://stackoverflow.com/questions/64912045

复制
相关文章

相似问题

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