我在这样的环境中运行测试
./ gradlew测试
这是我得到的错误:
securitymanager.ml.pmml.something.SomeTest > test() FAILED
java.lang.NoSuchMethodError: org.dmg.pmml.tree.Node.getScore()Ljava/lang/Object;
at org.jpmml.evaluator.tree.NodeScoreDistribution.computeResult(NodeScoreDistribution.java:57)
at org.jpmml.evaluator.TargetUtil.evaluateClassification(TargetUtil.java:116)
at org.jpmml.evaluator.tree.TreeModelEvaluator.evaluateClassification(TreeModelEvaluator.java:148)
at org.jpmml.evaluator.ModelEvaluator.evaluate(ModelEvaluator.java:535)
at org.jpmml.evaluator.mining.MiningModelEvaluator.evaluateSegmentation(MiningModelEvaluator.java:512)
at org.jpmml.evaluator.mining.MiningModelEvaluator.evaluateClassification(MiningModelEvaluator.java:279)
at org.jpmml.evaluator.ModelEvaluator.evaluate(ModelEvaluator.java:535)
at org.jpmml.evaluator.mining.MiningModelEvaluator.evaluate(MiningModelEvaluator.java:212)
at org.jpmml.evaluator.mining.MiningModelEvaluator.evaluate(MiningModelEvaluator.java:205)
at securitymanager.ml.pmml.ClassifierImpl.doSomething(ClassifierImpl.java:111)
我检查了Node.class,它具有getScore()方法。
任何想法?
似乎您需要配置您的类路径。
请参见:https://github.com/jpmml/jpmml-sparkml/issues/12,其中有人遇到类似的问题。