“brew 服务启动 tomcat”忽略 ~/.zshrc 环境变量

发布于 2025-01-15 00:16:30 字数 746 浏览 2 评论 0原文

我正在安装 java8 和 tomcat9,如下所示:

brew install adoptopenjdk/openjdk/adoptopenjdk8 --cask
ln -s $(/usr/libexec/java_home -v 1.8) /opt/homebrew/opt/openjdk 
echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)' >> ~/.zshrc

brew install tomcat@9 --ignore-dependencies
brew services start tomcat@9

我将 java 的位置导出到存储在我的用户 ~/.zshrc 文件中的名为 JAVA_HOME 的环境变量,因为 catalina.sh 需要环境变量JAVA_HOME设置为工作。

如果我使用终端启动 catalina.sh ,效果很好,但是 brew services start tomcat@9 不起作用,因为 launchctl 服务忽略了存储在我的用户 ~/.zshrc 文件中的名为 JAVA_HOME 的环境变量。所以它忽略 ~/.zshrc 文件。

在 Mac OSX Catalina 中,这工作得很好,但在 Monterey 中却失败了

I'm installing java8 and tomcat9 like this:

brew install adoptopenjdk/openjdk/adoptopenjdk8 --cask
ln -s $(/usr/libexec/java_home -v 1.8) /opt/homebrew/opt/openjdk 
echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)' >> ~/.zshrc

brew install tomcat@9 --ignore-dependencies
brew services start tomcat@9

I export the location of java to a environmentan variable called JAVA_HOME stored in my user ~/.zshrc file because catalina.sh needs the environmentan variable JAVA_HOME setted to work.

If i start catalina.sh using terminal, works perfectly, but
brew services start tomcat@9 doesn't work because the launchctl service ignores the environmentan variable called JAVA_HOME stored in my user ~/.zshrc file. So it is ignoring the ~/.zshrc file.

In Mac OSX Catalina this worked perfectly, but it's failing in Monterey

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

愿得七秒忆 2025-01-22 00:16:30

这对我在蒙特利有用:

echo 'export JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshrc
echo 'launchctl setenv JAVA_HOME $JAVA_HOME' >> ~/.zshrc
. ~/.zshrc
brew services run tomcat@9

如果您希望它在重新启动后持续存在,请参阅这个答案,这对我来说不是问题,因为我很少重新启动,更喜欢手动启动 Tomcat。

This worked for me on Monterey:

echo 'export JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshrc
echo 'launchctl setenv JAVA_HOME $JAVA_HOME' >> ~/.zshrc
. ~/.zshrc
brew services run tomcat@9

See this answer if you want it to persist across reboots, not an issue for me as I rarely reboot and prefer to start Tomcat manually.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文