I am writing a web application using Eclipse Neon, GWT and sqlite. My webapp at a certain point connects to a database located in the war
directory (I understand that the app has only access to that directory, server-side). When I try to create the connection:
Class.forName("org.sqlite.JDBC");
return DriverManager.getConnection("jdbc:sqlite:db.db");
The following exceptions occur in the console:
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()
This is the first time I get such an error and the internet seems oblivious of this issue. One thing I can't explain myself is why "C:/" is repeated twice in the db path; moreover, I would understand if the exception was just an "access denied" one, but I think I'm doing it right (I also tried to move the db in WEB-INF folder, to no avail).
What do you think about it?