gpt4 book ai didi

Tomcat 使用项目目录作为相对路径

转载 作者:行者123 更新时间:2023-11-28 23:05:10 26 4
gpt4 key购买 nike

我有一个 GWT Web 应用程序,它在相对目录“cache”下的磁盘上创建一个缓存。在我的 Eclipse 中的 JUnit 测试中,它可以工作,但是当我将它部署在 Tomcat 中时,程序仍然尝试在 /home/username/projects/myproject/cache 中创建文件(重命名的真实路径)而不是 /var/lib/tomcat7/webapps/myproject/cache 并且因为它在那里没有文件写访问权限,所以它崩溃了。创建缓存的代码是一个外部库,因此它甚至不能被硬编码。

它可以是一个符号链接(symbolic link)吗?或者 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)

[...]

最佳答案

请试试

String path = new File(servletContext.getRealPath("/cache")).getAbsolutePath()

关于Tomcat 使用项目目录作为相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10911807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com