H2数据库使用外部库如apache.commons

时间:2017-01-07 12:34:34

标签: h2 apache-commons

我试图使用H2数据库。我想调用Apache Commons Library中的方法,即commons-maths3.jar。

H2.bat如下所示:

@java -cp "commons-math3.jar;h2.jar" org.h2.tools.Console %*

但是在使用以下内容访问库方法时:

CREATE ALIAS sd for "org.apache.commons.math3.stat.descriptive.moment.StandardDeviation";

我收到90086错误。

Class "org.apache.commons.math3.stat.descriptive.moment" not found; SQL statement: create alias sd for "org.apache.commons.math3.stat.descriptive.moment.StandardDeviation" [90086-193] 90086/90086

另外,请建议我如何知道H2可以访问某些库,例如DESCRIBE StandardDeviation。

这里有什么我想念的。

1 个答案:

答案 0 :(得分:0)

引自the H2 manual

  

方法名称必须是完全限定类和方法名称,并且可以选择包含java.lang.Integer.parseInt(java.lang.String,int)中的参数类。类和方法必须都是公共的,方法必须是静态的。该类必须在数据库引擎的类路径中可用。

(强调我的)

因此,您需要为别名指定静态方法,而不是类名。

但是StandardDeviation没有静态方法。如果要使用它,您需要自己编写(静态)包装函数(在Java中)。