Не ответ, но добавление: я получил, потому что запустил groovysh
(Groovy 2.4.13), если JAVA_HOME указывает на установку Java 9 (точнее, java version "9.0.1"
):
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:107)
at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:129)
Caused by: java.lang.NoClassDefFoundError: Unable to load class groovy.xml.jaxb.JaxbGroovyMethods due to missing dependency javax/xml/bind/JAXBContext
at org.codehaus.groovy.vmplugin.v5.Java5.configureClassNode(Java5.java:400)
at org.codehaus.groovy.ast.ClassNode.lazyClassInit(ClassNode.java:277)
at org.codehaus.groovy.ast.ClassNode.getMethods(ClassNode.java:397)
...
..
.
..
...
at org.codehaus.groovy.tools.shell.Groovysh.(Groovysh.groovy:135)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.codehaus.groovy.tools.shell.Main.(Main.groovy:66)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.codehaus.groovy.tools.shell.Main.main(Main.groovy:163)
... 6 more
Решение было:
jaxb-ri-2.3.0.zip
/usr/local/java/jaxb-ri/
). Другое решение может существовать (возможно, через SDKMAN, я dunno) CLASSPATH
. Я делаю это через скрипт, запущенный при запуске bash, называемый /etc/profile.d/java.sh
, где я добавил (среди многих других строк) следующий цикл: Упакован в функцию ...
function extend_qzminynshg {
local BASE="/usr/local/java"
for LIB in jaxb-api.jar jaxb-core.jar jaxb-impl.jar jaxb-jxc.jar jaxb-xjc.jar; do
local FQLIB="$BASE/jaxb-ri/lib/$LIB"
if [[ -f $FQLIB ]]; then
export CLASSPATH=$FQLIB:$CLASSPATH
fi
done
}
extend_qzminynshg; unset extend_qzminynshg
И это работает!
Это потому, что вы не авторизованы в базе данных, проверьте вкладку «Правила» в базе данных Realtime
Если это
{
"rules": {
".read": "auth != null",
".write":"auth != null"
}
}
Это означает, что только авторизованный пользователь может писать и читать Данные.
Изменение на
{
"rules": {
".read": true,
".write":true
}
}
Позволяет кому-либо писать базу данных
. При переходе на Production обязательно используйте первый