linux 中的 java ${user.home} 变量

标签 java linux hibernate tomcat

我有一个 java 应用程序 (.war),我使用 ${user.home}/${project.build.finalName}/index(在 hibernate.properties 中)保存 hibernate 索引。我可以毫无问题地将它部署在 Windows 的 tomcat 中。但是当我在 linux(ubuntu 服务器 14.04)中部署时,${user.home} 将转换为 /usr/share/tomcat7/ 而不是 /var/lib/tomcat7。 tomcat 主目录(webapp 文件夹)位于 /var/lib/tomcat7/ 中,因此部署将失败,因为它无法写入 /usr/share/tomcat7/

我应该使用哪个变量来引用 /var/lib/tomcat7

谢谢

最佳答案

嗯,有一个默认设置的系统属性,称为 catalina.home,它指向 tomcat 安装根目录。您可以使用它(我认为,在您的情况下,它将像您想要的那样设置为/var/lib/tomcat7 )。

此外,您可以在 tomcat 启动期间通过将其添加到 CATALINA_OPTS 环境变量来设置任何系统属性。例如:

CATALINA_OPTS=-Dfoo.bar=/some/path/to/hibernate/index/var/lib/tomcat7/bin/catalina.sh 开始

(上面的意思是单行上的 bash 命令)。

关于linux 中的 java ${user.home} 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27326819/

相关文章:

c - msghdr 行为使用 Netlink 在内核空间和用户空间之间进行通信

hibernate - 如何使用@Formula(在 Hibernate 中)引用同一个(当前)对象

java - 静态变量是否与 Class 类对象一起加载

java - 保存 Activity 的实例状态以保持用户登录?

c# - 接口(interface)的 C# "explicit implementation"是否存在于 Java 中?

java - 将请求范围数据传递给 CDI 中的异步方法

c# - 在 Mono 3 (Ubuntu 12.10) 上使用 WinForms

linux - 为什么.data可执行?

java - 创建条件时 session 关闭

java - 无法创建池的初始连接,无法获取 JDBC 连接错误