tale 版本: 1.2.11
在 docker 里运行时碰到的这个报错
下面贴一下完整的输出:
pi@debian:~/src/tale/tale$ docker run --rm -p 9009:9000 -v "$PWD":/usr/src/myapp -w /usr/src/myapp openjdk:8-jdk-alpine java -jar tale-1.2.11.jar
Unable to find image 'openjdk:8-jdk-alpine' locally
8-jdk-alpine: Pulling from library/openjdk
627beaf3eaaf: Pull complete
1de20f2d8b83: Pull complete
3e00029ebfe3: Pull complete
Digest: sha256:ea4d99e7bec5f301c6cb875196261487bc1bbd78f7b1a9d19d6795b512dfe355
Status: Downloaded newer image for openjdk:8-jdk-alpine
[tale] 2017-03-22 15:14:05,518 INFO [main] com.blade.embedd.EmbedJettyServer | add classpath: /usr/src/myapp/resources/
[tale] 2017-03-22 15:14:05,558 INFO [main] org.eclipse.jetty.util.log | Logging initialized @516ms to org.eclipse.jetty.util.log.Slf4jLog
[tale] 2017-03-22 15:14:05,985 INFO [main] com.blade.embedd.EmbedJettyServer | add classpath : /usr/src/myapp/resources/
[tale] 2017-03-22 15:14:06,027 INFO [main] org.eclipse.jetty.server.Server | jetty-9.4.0.v20161208
[tale] 2017-03-22 15:14:06,309 INFO [main] org.eclipse.jetty.webapp.StandardDescriptorProcessor | NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
[tale] 2017-03-22 15:14:06,321 INFO [main] org.eclipse.jetty.server.session | DefaultSessionIdManager workerName=node0
[tale] 2017-03-22 15:14:06,321 INFO [main] org.eclipse.jetty.server.session | No SessionScavenger set, using defaults
[tale] 2017-03-22 15:14:06,325 INFO [main] org.eclipse.jetty.server.session | Scavenging every 660000ms
[tale] 2017-03-22 15:14:06,347 INFO [main] com.blade.mvc.context.BladeInitListener | jdk.version => 1.8.0_121
[tale] 2017-03-22 15:14:06,348 INFO [main] com.blade.mvc.context.BladeInitListener | user.dir => /usr/src/myapp
[tale] 2017-03-22 15:14:06,348 INFO [main] com.blade.mvc.context.BladeInitListener | java.io.tmpdir => /tmp
[tale] 2017-03-22 15:14:06,348 INFO [main] com.blade.mvc.context.BladeInitListener | user.timezone => GMT
[tale] 2017-03-22 15:14:06,348 INFO [main] com.blade.mvc.context.BladeInitListener | file.encoding => UTF-8
[tale] 2017-03-22 15:14:06,351 INFO [main] com.blade.mvc.context.BladeInitListener | blade.webroot => jar:file:/usr/src/myapp/tale-1.2.11.jar!/
[tale] 2017-03-22 15:14:06,395 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/article/publish
[tale] 2017-03-22 15:14:06,397 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/article/:cid
[tale] 2017-03-22 15:14:06,404 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/article/publish
[tale] 2017-03-22 15:14:06,405 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/article/modify
[tale] 2017-03-22 15:14:06,409 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/article
[tale] 2017-03-22 15:14:06,409 INFO [main] com.blade.mvc.route.Routers | Add Route => ALL /admin/article/delete
[tale] 2017-03-22 15:14:06,410 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/attach/upload
[tale] 2017-03-22 15:14:06,411 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/attach
[tale] 2017-03-22 15:14:06,411 INFO [main] com.blade.mvc.route.Routers | Add Route => ALL /admin/attach/delete
[tale] 2017-03-22 15:14:06,413 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /install
[tale] 2017-03-22 15:14:06,414 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /install
[tale] 2017-03-22 15:14:06,415 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/reload
[tale] 2017-03-22 15:14:06,417 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/backup
[tale] 2017-03-22 15:14:06,419 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/setting
[tale] 2017-03-22 15:14:06,420 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/password
[tale] 2017-03-22 15:14:06,426 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/setting
[tale] 2017-03-22 15:14:06,427 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/profile
[tale] 2017-03-22 15:14:06,428 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/advanced
[tale] 2017-03-22 15:14:06,429 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin
[tale] 2017-03-22 15:14:06,430 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/index
[tale] 2017-03-22 15:14:06,432 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/profile
[tale] 2017-03-22 15:14:06,433 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/links/save
[tale] 2017-03-22 15:14:06,434 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/links
[tale] 2017-03-22 15:14:06,435 INFO [main] com.blade.mvc.route.Routers | Add Route => ALL /admin/links/delete
[tale] 2017-03-22 15:14:06,436 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/login
[tale] 2017-03-22 15:14:06,437 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/login
[tale] 2017-03-22 15:14:06,438 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/category/save
[tale] 2017-03-22 15:14:06,439 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/category
[tale] 2017-03-22 15:14:06,441 INFO [main] com.blade.mvc.route.Routers | Add Route => ALL /admin/category/delete
[tale] 2017-03-22 15:14:06,442 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /tag/:name
[tale] 2017-03-22 15:14:06,445 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /tag/:name.html
[tale] 2017-03-22 15:14:06,446 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /tag/:name/:page
[tale] 2017-03-22 15:14:06,447 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /tag/:name/:page.html
[tale] 2017-03-22 15:14:06,448 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /:pagename
[tale] 2017-03-22 15:14:06,449 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /:pagename.html
[tale] 2017-03-22 15:14:06,450 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /article/:cid
[tale] 2017-03-22 15:14:06,450 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /article/:cid.html
[tale] 2017-03-22 15:14:06,450 INFO [main] com.blade.mvc.route.Routers | Add Route => ALL /logout
[tale] 2017-03-22 15:14:06,451 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /category/:keyword/:page
[tale] 2017-03-22 15:14:06,451 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /category/:keyword/:page.html
[tale] 2017-03-22 15:14:06,452 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /category/:keyword
[tale] 2017-03-22 15:14:06,452 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /category/:keyword.html
[tale] 2017-03-22 15:14:06,454 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /links
[tale] 2017-03-22 15:14:06,454 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /links.html
[tale] 2017-03-22 15:14:06,456 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /archives
[tale] 2017-03-22 15:14:06,456 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /archives.html
[tale] 2017-03-22 15:14:06,457 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /feed
[tale] 2017-03-22 15:14:06,457 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /feed.xml
[tale] 2017-03-22 15:14:06,458 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /page/:p
[tale] 2017-03-22 15:14:06,459 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /page/:pageIndex.html
[tale] 2017-03-22 15:14:06,459 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /
[tale] 2017-03-22 15:14:06,460 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /comment
[tale] 2017-03-22 15:14:06,460 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /search/:keyword
[tale] 2017-03-22 15:14:06,460 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /search/:keyword.html
[tale] 2017-03-22 15:14:06,461 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /search/:keyword/:page
[tale] 2017-03-22 15:14:06,462 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /search/:keyword/:page.html
[tale] 2017-03-22 15:14:06,462 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/comments
[tale] 2017-03-22 15:14:06,463 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/comments
[tale] 2017-03-22 15:14:06,464 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/comments/delete
[tale] 2017-03-22 15:14:06,465 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/comments/status
[tale] 2017-03-22 15:14:06,466 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/themes/setting
[tale] 2017-03-22 15:14:06,468 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/themes/setting
[tale] 2017-03-22 15:14:06,469 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/themes/active
[tale] 2017-03-22 15:14:06,469 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/themes
[tale] 2017-03-22 15:14:06,471 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/page/modify
[tale] 2017-03-22 15:14:06,472 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/page/new
[tale] 2017-03-22 15:14:06,473 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/page/:cid
[tale] 2017-03-22 15:14:06,473 INFO [main] com.blade.mvc.route.Routers | Add Route => POST /admin/page/publish
[tale] 2017-03-22 15:14:06,473 INFO [main] com.blade.mvc.route.Routers | Add Route => GET /admin/page
[tale] 2017-03-22 15:14:06,474 INFO [main] com.blade.mvc.route.Routers | Add Route => ALL /admin/page/delete
[tale] 2017-03-22 15:14:06,497 INFO [main] com.blade.mvc.route.Routers | Add Interceptor: BEFORE /.*
[tale] 2017-03-22 15:14:06,497 INFO [main] com.blade.mvc.route.Routers | Add Interceptor: AFTER /.*
[tale] 2017-03-22 15:14:06,523 WARN [main] com.blade.ioc.Ioc | Duplicated Bean: com.tale.init.WebContext
Failed to load native library:sqlite-3.15.1-b5aece83-7811-4432-be54-d322b463a038-libsqlitejdbc.so. osinfo: Linux/x86_64
java.lang.UnsatisfiedLinkError: /tmp/sqlite-3.15.1-b5aece83-7811-4432-be54-d322b463a038-libsqlitejdbc.so: Error relocating /tmp/sqlite-3.15.1-b5aece83-7811-4432-be54-d322b463a038-libsqlitejdbc.so: __isnan: symbol not found
[tale] 2017-03-22 15:14:06,658 INFO [main] org.eclipse.jetty.server.AbstractConnector | Started ServerConnector@62917d6{HTTP/1.1,[http/1.1]}{0.0.0.0:9000}
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open_utf8([BI)V
at org.sqlite.core.NativeDB._open_utf8(Native Method)
at org.sqlite.core.NativeDB._open(NativeDB.java:71)
at org.sqlite.core.DB.open(DB.java:174)
at org.sqlite.core.CoreConnection.open(CoreConnection.java:220)
at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:76)
at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:24)
at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:24)
at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:45)
at org.sqlite.JDBC.createConnection(JDBC.java:114)
at org.sqlite.JDBC.connect(JDBC.java:88)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at com.tale.init.SqliteJdbc.importSql(SqliteJdbc.java:49)
at com.tale.init.WebContext.register(WebContext.java:105)
at com.blade.ioc.IocApplication.lambda$initBeans$4(IocApplication.java:125)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at com.blade.ioc.IocApplication.initBeans(IocApplication.java:125)
at com.blade.mvc.context.BladeInitListener.contextInitialized(BladeInitListener.java:79)
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:865)
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:532)
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:828)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:344)
at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1480)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1442)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:788)
at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:261)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:540)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:113)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
at org.eclipse.jetty.server.Server.start(Server.java:452)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
at org.eclipse.jetty.server.Server.doStart(Server.java:419)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at com.blade.embedd.EmbedJettyServer.startup(EmbedJettyServer.java:166)
at com.blade.embedd.EmbedJettyServer.startup(EmbedJettyServer.java:74)
at com.blade.Blade.startNoJoin(Blade.java:499)
at com.blade.Blade.start(Blade.java:472)
at com.blade.Blade.start(Blade.java:478)
at com.tale.Application.main(Application.java:11)
在树莓派上运行也是一样的错误,不知道是不是 sqlite 版本的问题
bug