- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个使用 Spark 进行基于随机森林分类的应用程序。当尝试运行该程序时,我从该行收到异常:StringIndexerModel labelIndexer = new StringIndexer().setInputCol("label").setOutputCol("indexedLabel").fit(data);
看起来代码以某种方式达到了 Janino 版本 2.7.8,尽管我知道我需要 3.0.7。我不知道如何正确设置依赖项以强制构建使用正确的版本。似乎它总是尝试使用 2.7.8。
我是否可能需要清理缓存?
这是来自 gradle dependency
的行:
+--- org.codehaus.janino:janino:3.0.7 -> 2.7.8
| +--- org.codehaus.janino:commons-compiler:3.0.7
定义依赖项的 Gradle 部分:
dependencies {
compile('org.apache.hadoop:hadoop-mapreduce-client-core:2.7.2') { force = true }
compile('org.apache.hadoop:hadoop-common:2.7.2') { force = true }
// https://mvnrepository.com/artifact/org.codehaus.janino/janino
compile (group: 'org.codehaus.janino', name: 'janino', version: '3.0.7') {
force = true
exclude group: 'org.codehaus.janino', module: 'commons-compiler'
}
// https://mvnrepository.com/artifact/org.codehaus.janino/commons-compiler
compile (group: 'org.codehaus.janino', name: 'commons-compiler', version: '3.0.7') {
force = true
exclude group: 'org.codehaus.janino', module: 'janino'
}
// https://mvnrepository.com/artifact/org.apache.spark/spark-sql_2.11
compile (group: 'org.apache.spark', name: 'spark-sql_2.11', version: '2.2.0') {
exclude group: 'org.codehaus.janino', module: 'janino'
exclude group: 'org.codehaus.janino', module: 'commons-compiler'
}
// https://mvnrepository.com/artifact/org.apache.spark/spark-core_2.11
compile (group: 'org.apache.spark', name: 'spark-core_2.11', version: '2.2.0') {
exclude group: 'org.codehaus.janino', module: 'janino'
exclude group: 'org.codehaus.janino', module: 'commons-compiler'
}
// https://mvnrepository.com/artifact/org.apache.spark/spark-mllib_2.11
compile (group: 'org.apache.spark', name: 'spark-mllib_2.11', version: '2.2.0') {
exclude group: 'org.codehaus.janino', module: 'janino'
exclude group: 'org.codehaus.janino', module: 'commons-compiler'
}
// https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind
runtime group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.6.5'
// https://mvnrepository.com/artifact/com.fasterxml.jackson.module/jackson-module-scala_2.11
runtime group: 'com.fasterxml.jackson.module', name: 'jackson-module-scala_2.11', version: '2.6.5'
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.1'
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.4.1'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.4.1'
testCompile 'org.testng:testng:6.9.4'
testCompile 'org.mockito:mockito-core:1.10.19'
}
异常(exception):
Exception in thread "main" java.lang.NoSuchMethodError: org.codehaus.commons.compiler.Location.<init>(Ljava/lang/String;SS)V
at org.codehaus.janino.Scanner.location(Scanner.java:261)
at org.codehaus.janino.Parser.location(Parser.java:2742)
at org.codehaus.janino.Parser.parseImportDeclarationBody(Parser.java:209)
at org.codehaus.janino.ClassBodyEvaluator.makeCompilationUnit(ClassBodyEvaluator.java:255)
at org.codehaus.janino.ClassBodyEvaluator.cook(ClassBodyEvaluator.java:222)
at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:192)
at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:80)
at org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator$.org$apache$spark$sql$catalyst$expressions$codegen$CodeGenerator$$doCompile(CodeGenerator.scala:960)
at org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator$$anon$1.load(CodeGenerator.scala:1027)
at org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator$$anon$1.load(CodeGenerator.scala:1024)
at org.spark_project.guava.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3599)
at org.spark_project.guava.cache.LocalCache$Segment.loadSync(LocalCache.java:2379)
at org.spark_project.guava.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342)
at org.spark_project.guava.cache.LocalCache$Segment.get(LocalCache.java:2257)
at org.spark_project.guava.cache.LocalCache.get(LocalCache.java:4000)
at org.spark_project.guava.cache.LocalCache.getOrLoad(LocalCache.java:4004)
at org.spark_project.guava.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4874)
at org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator$.compile(CodeGenerator.scala:906)
at org.apache.spark.sql.execution.WholeStageCodegenExec.doExecute(WholeStageCodegenExec.scala:375)
at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:117)
at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:117)
at org.apache.spark.sql.execution.SparkPlan$$anonfun$executeQuery$1.apply(SparkPlan.scala:138)
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
at org.apache.spark.sql.execution.SparkPlan.executeQuery(SparkPlan.scala:135)
at org.apache.spark.sql.execution.SparkPlan.execute(SparkPlan.scala:116)
at org.apache.spark.sql.execution.DeserializeToObjectExec.doExecute(objects.scala:95)
at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:117)
at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:117)
at org.apache.spark.sql.execution.SparkPlan$$anonfun$executeQuery$1.apply(SparkPlan.scala:138)
at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
at org.apache.spark.sql.execution.SparkPlan.executeQuery(SparkPlan.scala:135)
at org.apache.spark.sql.execution.SparkPlan.execute(SparkPlan.scala:116)
at org.apache.spark.sql.execution.QueryExecution.toRdd$lzycompute(QueryExecution.scala:92)
at org.apache.spark.sql.execution.QueryExecution.toRdd(QueryExecution.scala:92)
at org.apache.spark.sql.Dataset.rdd$lzycompute(Dataset.scala:2581)
at org.apache.spark.sql.Dataset.rdd(Dataset.scala:2578)
at org.apache.spark.ml.feature.StringIndexer.fit(StringIndexer.scala:111)
最佳答案
与 Zobayer Hasan 的回答类似,我还需要将 org.codehaus.janino:commons-compiler
更新到版本 3.0.8。
就我而言,我只使用了 org.apache.spark:spark-sql_2.11
,但我发现它依赖于 org.codehaus.janino:janino
> 版本 3.0.8 和 org.codehaus.janino:commons-compiler
版本 3.0.0。我能够通过将 3.0.8 版本的 commons-compiler
添加到 Maven 的 dependencyManagement
来解决我的问题,而无需使用 exclusions
:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.codehaus.janino</groupId>
<artifactId>commons-compiler</artifactId>
<version>3.0.8</version>
</dependency>
</dependencies>
</dependencyManagement>
关于java - 来自 Janino 和 Commons-Compiler 的 Spark java.lang.NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46401354/
我正在使用 Janino 来评估脚本,但我不知道如何在脚本中表示值列表 org.codehaus.janino janino
我正在尝试在 logback 配置中使用 janino 条件语句,它与“if”和“else”一起工作正常。但是我想问一下有没有可能在里面写“else if”? 我的情况 -
使用Logback的条件处理来比较Logback XML配置文件中的两个String如下... ...导致以下异常。 14:22:08,315 |-ERROR
我正在尝试使用 scriptella 复制 oracle 的列,我想将它们插入到结合 scriptella 和 janino 的 ArrayList 中,以便稍后使用它们并进行比较, 这是我所做的
我收到错误消息无法在类路径上找到 Janino 库。跳过条件处理。 我应该在类路径中包含什么来解决这个问题(lib 和版本)? 最佳答案 登录requires the Janino library用于
如何使用 janino 编译器将简单的 java 源代码从字符串编译为字节数组中的字节码? 到目前为止,我一直在尝试理解 janino 文档 here (在 SimpleCompiler 下)和 he
我即将开始开发一个小型 Java 桌面应用程序。该应用程序只是一个引擎,用户可以为其提供 Java 类来完成工作(将输入转换为输出)。 我希望用户提供实际的 Java 类作为可以动态加载(和重新加载)
这是触发问题的代码。这里的代码使用janino创建一个编译器。我假设该错误主要与帖子 Java.lang.ClassnotFound 底部的 String 语句有关 //-------------
我正在尝试在 logback 中使用评估器。因此,我的 logback.xml 中有这个片段 logger != null && message != null &&
一个简单的单元测试(没有 junit)给出了奇怪的异常 import java.io.StringReader; import java.sql.PreparedStatement; import o
我正在构建一个使用 Spark 进行基于随机森林分类的应用程序。当尝试运行该程序时,我从该行收到异常:StringIndexerModel labelIndexer = new StringInd
我在 tomcat 8.5.32(最新的 java 8、1.8.0_181)下部署了一个应用程序,使用最新的 logback 1.2.3、janino 3.0.8 和 slf4f 1.7.25。 我的
我是一名优秀的程序员,十分优秀!