4

这里:create_alias & user_defined_functions它是这样写的:

如果文件 tools.jar 在类路径中,则使用 Sun javac is 编译器。如果没有,javac 将作为单独的进程运行。

如何为 H2 数据库用户定义函数和存储过程指定 java 类版本 - 即外部 javac 的 javac 调用选项?你能总是强制外部javac(即使找到jdk/tool.jar)?

例如,H2 是针对 java 1.5 构建的;我在 java 1.7 上运行:

org.apache.ibatis.exceptions.PersistenceException: 
### Error updating database.  Cause: org.h2.jdbc.JdbcSQLException: 
General error: 
"java.lang.UnsupportedClassVersionError: org/h2/dynamic/NEXT_PRIME : 
Unsupported major.minor version 51.0"; SQL statement:
CREATE ALIAS NEXT_PRIME AS $$
        String nextPrime(String value) {
            return new BigInteger(value).nextProbablePrime().toString();
        }
    $$; [50000-167]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
    at org.h2.message.DbException.get(DbException.java:158)
    at org.h2.message.DbException.convert(DbException.java:277)
    at org.h2.command.Command.executeUpdate(Command.java:234)
    at org.h2.server.TcpServerThread.process(TcpServerThread.java:328)
    at org.h2.server.TcpServerThread.run(TcpServerThread.java:149)
    at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.UnsupportedClassVersionError: org/h2/dynamic/NEXT_PRIME : 
Unsupported major.minor version 51.0

谢谢;

安德烈。

4

1 回答 1

1

该错误消息"Unsupported major.minor version 51.0"表明您的系统中有在某些情况下使用的 JDK 或 JRE 1.6。另请参阅问题unsupported-major-minor-version-51-0

于 2012-07-12T14:10:06.270 回答