SymmetricDS H2 — класс EmbeddedDbFunction не найден при запуске create-sym-tables

Когда я запускаю команду create-sym-tables для базы данных H2, я получаю приведенную ниже трассировку стека.

Я пробовал с SymmetricDS 3.6.1 и 3.5.19.

Я добавил симметричное ядро ​​​​в свой путь к классам, когда вызывается команда sysadmin, и мне все еще не повезло.

Может ли кто-нибудь сказать мне, что я могу делать неправильно здесь?

-------------------------------------------------------------------------------
An exception occurred.  Please see the following for details:
-------------------------------------------------------------------------------
org.h2.jdbc.JdbcSQLException: Class "org.jumpmind.symmetric.db.EmbeddedDbFunctions" not     found; SQL statement:
CREATE ALIAS IF NOT EXISTS SYM_BASE64_ENCODE for "org.jumpmind.symmetric.db.EmbeddedDbFunctions.encodeBase64";  [90086-175]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:332)
at org.h2.message.DbException.get(DbException.java:161)
at org.h2.util.Utils.loadUserClass(Utils.java:659)
at org.h2.engine.FunctionAlias.loadClass(FunctionAlias.java:146)
at org.h2.engine.FunctionAlias.load(FunctionAlias.java:122)
at org.h2.engine.FunctionAlias.init(FunctionAlias.java:107)
at org.h2.engine.FunctionAlias.newInstance(FunctionAlias.java:78)
at org.h2.command.ddl.CreateFunctionAlias.update(CreateFunctionAlias.java:49)
at org.h2.command.CommandContainer.update(CommandContainer.java:79)
at org.h2.command.Command.executeUpdate(Command.java:253)
at org.h2.server.TcpServerThread.process(TcpServerThread.java:340)
at org.h2.server.TcpServerThread.run(TcpServerThread.java:156)
at java.lang.Thread.run(Thread.java:695)
Caused by: java.lang.ClassNotFoundException: org.jumpmind.symmetric.db.EmbeddedDbFunctions
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:392)
at runjettyrun.ProjectClassLoader.loadClass(ProjectClassLoader.java:89)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:171)
at org.h2.util.Utils.loadUserClass(Utils.java:654)
... 10 more

at org.h2.message.DbException.getJdbcSQLException(DbException.java:332)
at org.h2.message.DbException.get(DbException.java:161)
at org.h2.util.Utils.loadUserClass(Utils.java:659)
at org.h2.engine.FunctionAlias.loadClass(FunctionAlias.java:146)
at org.h2.engine.FunctionAlias.load(FunctionAlias.java:122)
at org.h2.engine.FunctionAlias.init(FunctionAlias.java:107)
at org.h2.engine.FunctionAlias.newInstance(FunctionAlias.java:78)
at org.h2.command.ddl.CreateFunctionAlias.update(CreateFunctionAlias.java:49)
at org.h2.command.CommandContainer.update(CommandContainer.java:79)
at org.h2.command.Command.executeUpdate(Command.java:253)
at org.h2.server.TcpServerThread.process(TcpServerThread.java:340)
at org.h2.server.TcpServerThread.run(TcpServerThread.java:156)
at java.lang.Thread.run(Thread.java:695)
[wrapped] org.jumpmind.db.sql.SqlException: Class "org.jumpmind.symmetric.db.EmbeddedDbFunctions" not found; SQL statement:
CREATE ALIAS IF NOT EXISTS SYM_BASE64_ENCODE for "org.jumpmind.symmetric.db.EmbeddedDbFunctions.encodeBase64";  [90086-176]
at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:288)
at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:279)
at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:421)
at org.jumpmind.db.sql.JdbcSqlTemplate.update(JdbcSqlTemplate.java:289)
at org.jumpmind.db.sql.AbstractSqlTemplate.update(AbstractSqlTemplate.java:212)
at org.jumpmind.symmetric.db.AbstractSymmetricDialect.install(AbstractSymmetricDialect.java:167)
at org.jumpmind.symmetric.db.h2.H2SymmetricDialect.createRequiredDatabaseObjects(H2SymmetricDialect.java:94)
at org.jumpmind.symmetric.db.AbstractSymmetricDialect.initTablesAndDatabaseObjects(AbstractSymmetricDialect.java:150)
at org.jumpmind.symmetric.AbstractSymmetricEngine.setupDatabase(AbstractSymmetricEngine.java:371)
at org.jumpmind.symmetric.SymmetricAdmin.createSymTables(SymmetricAdmin.java:471)
at org.jumpmind.symmetric.SymmetricAdmin.executeWithOptions(SymmetricAdmin.java:285)
at org.jumpmind.symmetric.AbstractCommandLauncher.execute(AbstractCommandLauncher.java:132)
at org.jumpmind.symmetric.SymmetricAdmin.main(SymmetricAdmin.java:126)

person jdchowell    schedule 11.07.2014    source источник


Ответы (1)


Вы используете H2 как автономную базу данных? Если это так, вам нужно включить симметричный клиент-x.x.x.jar в путь к классам.

@java -cp "h2-1.4.181.jar;**symmetric-client-3.6.5.jar**;%H2DRIVERS%;%CLASSPATH%" org.h2.tools.Console %*
@if errorlevel 1 pause
person Ayhan Uğurlu    schedule 22.08.2014