相対ディレクトリ「cache」の下のディスクにキャッシュを作成するGWTWebアプリケーションがあります。EclipseでのJUnitテストでは機能しますが、Tomcatにデプロイすると、プログラムはファイルを作成しようとしますが、ファイルの書き込みアクセス権がないため、クラッシュします。キャッシュを作成するコードは外部ライブラリであるため、ハードコーディングすることもできません。/home/username/projects/myproject/cache
/var/lib/tomcat7/webapps/myproject/cache
シンボリックリンクでしょうか?または、TomcatとEclipseはJVMを共有できますか?このエラーは私を夢中にさせています。
エラーメッセージ
org.h2.jdbc.JdbcSQLException: Fehler beim Erzeugen der Datei "/home/username/projects/myproject/cache"
Error while creating file "/home/username/projects/myproject/cache" [90062-143]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
at org.h2.message.DbException.get(DbException.java:167)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.store.fs.FileSystemDisk.createDirs(FileSystemDisk.java:368)
at org.h2.store.FileLock.lockFile(FileLock.java:328)
at org.h2.store.FileLock.lock(FileLock.java:134)
at org.h2.engine.Database.open(Database.java:525)
at org.h2.engine.Database.openDatabase(Database.java:208)
at org.h2.engine.Database.<init>(Database.java:203)
at org.h2.engine.Engine.openSession(Engine.java:53)
at org.h2.engine.Engine.openSession(Engine.java:147)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:126)
at org.h2.engine.Engine.createSession(Engine.java:109)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:289)
at org.h2.engine.SessionRemote.createSession(SessionRemote.java:265)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:110)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:94)
at org.h2.Driver.connect(Driver.java:73)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
[...]