我正在使用Eclipse Neon,GWT和sqlite编写Web应用程序。我在某个点上的webapp连接到位于war
目录中的数据库(我知道该应用程序只能访问该目录,服务器端)。当我尝试创建连接时:
Class.forName("org.sqlite.JDBC");
return DriverManager.getConnection("jdbc:sqlite:db.db");
控制台中出现以下异常:
java.security.AccessControlException: access denied ("java.io.FilePermission" "C:\c:\Users\me\workspace\BookLovers\war\db.db" "read")
[...]
GRAVE: javax.servlet.ServletContext log: Exception while dispatching incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract boolean it.me.gc.booklovers.client.LoginService.login(java.lang.String,int) throws java.lang.IllegalArgumentException' threw an unexpected exception: java.lang.Error: Internal Error in _syscall()
[...]
Caused by: java.lang.Error: Internal Error in _syscall()
这是我第一次收到这样的错误,互联网似乎没有注意到这个问题。我无法解释自己的一件事就是为什么" C:/"在db路径中重复两次;而且,我会理解这个例外只是一个"访问被拒绝"一,但我认为我做得对(我也试图在WEB-INF文件夹中移动数据库,但无济于事。)
你怎么看?
答案 0 :(得分:0)
事实证明,问题似乎是由旧版本的.jar连接器引起的。使用更新的连接器解决了这个问题。谢谢,Apostolos。