我正在安装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的位置导出到一个名为JAVA_HOME
的环境变量中,该变量存储在我的用户~/.zshrc
文件中,因为catalina.sh需要设置的环境变量JAVA_HOME
才能工作。
如果我使用终端启动catalina.sh,那么brew services start tomcat@9
工作得很好,但是brew services start tomcat@9
无法工作,因为launchctl服务忽略了存储在用户~/.zshrc
文件中的名为JAVA_HOME
的环境变量。所以它忽略了~/.zshrc
文件。
在Mac Catalina
中,这是完美的,但在Monterey
中却是失败的。
发布于 2022-10-06 19:22:46
这件事对我来说很管用。
echo 'export JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshrc
echo 'launchctl setenv JAVA_HOME $JAVA_HOME' >> ~/.zshrc
. ~/.zshrc
brew services run tomcat@9
如果您希望它在重新引导过程中持续存在,请参阅this answer,这对我来说不是一个问题,因为我很少重新启动并且更愿意手动启动Tomcat。
https://stackoverflow.com/questions/71517976
复制相似问题