hectorqin / reader

阅读3服务器版,桌面端,iOS可用。后端 Kotlin + Spring Boot + Vert.x + Coroutine ;前端 Vue.js + Element。麻烦点点star,关注一下公众号【假装大佬】❗️ Demo服务器由于未备案已被关停,建议自行搭建

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[bug]linux server模式导入书源报错

zwillim opened this issue · comments

java 17环境下,使用java -jar reader-1.9.0.jar --reader.server.port=XXXX方式启动服务,从阅读app导出书源bookSource.json并通过页面导入,出现如下报错:

Exception in thread "DefaultDispatcher-worker-3" Exception in thread "DefaultDispatcher-worker-2" java.lang.IllegalAccessError: class com.sun.script.javascript.RhinoScriptEngine (in unnamed module @0xed17bee) cannot access class sun.security.action.GetPropertyAction (in module java.base) because module java.base does not export sun.security.action to unnamed module @0xed17bee
at com.sun.script.javascript.RhinoScriptEngine.getLanguageVersion(RhinoScriptEngine.java:154)
at com.sun.script.javascript.RhinoScriptEngine.(RhinoScriptEngine.java:97)
at com.sun.script.javascript.RhinoScriptEngineFactory.getScriptEngine(RhinoScriptEngineFactory.java:78)
at java.scripting/javax.script.ScriptEngineManager.lambda$getEngineBy$2(ScriptEngineManager.java:237)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300)
at java.base/java.util.stream.Streams$ConcatSpliterator.tryAdvance(Streams.java:723)
at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647)
at java.scripting/javax.script.ScriptEngineManager.getEngineBy(ScriptEngineManager.java:246)
at java.scripting/javax.script.ScriptEngineManager.getEngineByName(ScriptEngineManager.java:185)
at io.legado.app.constant.AppConst$SCRIPT_ENGINE$2.invoke(AppConst.kt:17)
at io.legado.app.constant.AppConst$SCRIPT_ENGINE$2.invoke(AppConst.kt:7)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at io.legado.app.constant.AppConst.getSCRIPT_ENGINE(AppConst.kt)
at io.legado.app.data.entities.BookSource.evalJS(BookSource.kt:146)
at io.legado.app.data.entities.BookSource.getHeaderMap(BookSource.kt:75)
at jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:688)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)
at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:3728)
at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:3668)
at io.vertx.core.json.JsonObject.mapFrom(JsonObject.java:107)
at org.lightink.reader.api.YueduApi.saveSources(YueduApi.kt:2355)
at org.lightink.reader.api.YueduApi$initRouter$3.invokeSuspend(YueduApi.kt:95)
at org.lightink.reader.api.YueduApi$initRouter$3.invoke(YueduApi.kt)
at org.lightink.reader.verticle.RestVerticle$coroutineHandler$1$job$1.invokeSuspend(RestVerticle.kt:133)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:238)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:742)
java.lang.NoClassDefFoundError: Could not initialize class com.sun.script.javascript.RhinoScriptEngine
at com.sun.script.javascript.RhinoScriptEngineFactory.getScriptEngine(RhinoScriptEngineFactory.java:78)
at java.scripting/javax.script.ScriptEngineManager.lambda$getEngineBy$2(ScriptEngineManager.java:237)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300)
at java.base/java.util.stream.Streams$ConcatSpliterator.tryAdvance(Streams.java:723)
at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647)
at java.scripting/javax.script.ScriptEngineManager.getEngineBy(ScriptEngineManager.java:246)
at java.scripting/javax.script.ScriptEngineManager.getEngineByName(ScriptEngineManager.java:185)
at io.legado.app.constant.AppConst$SCRIPT_ENGINE$2.invoke(AppConst.kt:17)
at io.legado.app.constant.AppConst$SCRIPT_ENGINE$2.invoke(AppConst.kt:7)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at io.legado.app.constant.AppConst.getSCRIPT_ENGINE(AppConst.kt)
at io.legado.app.data.entities.BookSource.evalJS(BookSource.kt:146)
at io.legado.app.data.entities.BookSource.getHeaderMap(BookSource.kt:75)
at jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:688)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:719)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)
at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:3728)
at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:3668)
at io.vertx.core.json.JsonObject.mapFrom(JsonObject.java:107)
at org.lightink.reader.api.YueduApi.saveSources(YueduApi.kt:2355)
at org.lightink.reader.api.YueduApi$initRouter$3.invokeSuspend(YueduApi.kt:95)
at org.lightink.reader.api.YueduApi$initRouter$3.invoke(YueduApi.kt)
at org.lightink.reader.verticle.RestVerticle$coroutineHandler$1$job$1.invokeSuspend(RestVerticle.kt:133)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:238)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:742)

书源不兼容,不要勾选使用了js的书源

如果想要从阅读3迁移过来,有没有比较优雅的方式推荐呢?

配置好 webdav,然后在web页面恢复

好的,我试试,多谢