здесь: create_alias и user_defined_functions написано:
компилятор Sun javac is используется, если файл tools.jar находится в пути к классам. В противном случае javac запускается как отдельный процесс.
Как можно указать версию класса java для пользовательских функций и хранимых процедур базы данных H2, т.е. параметры вызова 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
Спасибо;
Андрей.