java - 更改 python 脚本中的 $JAVA_HOME

标签 java python

我尝试制作一个 python 脚本来在 32 位和 64 位 java 之间切换,但由于某种原因

os.system('export JAVA_HOME=/usr/java/path') 
os.system('export PATH=$JAVA_HOME/bin:$PATH') 

什么也不做,但手动它可以工作。我怎样才能解决这个问题? (顺便说一句,这是在 Linux 系统上运行的。)

最佳答案

export 行将为执行它的 shell 及其所有子 shell 设置一个环境变量。但这里发生的是 Python 创建一个新的 shell,执行设置环境变量的行,然后 shell 终止。这意味着环境变量不再有效。事实上,您在第一行中设置的 JAVA_HOME 环境变量在执行时甚至不会对第二行生效,因为它在它自己的 shell 中,也会立即终止!

解决方法是运行一个完整的 shell 脚本来设置环境变量,然后启动 Java:

#!/bin/bash

JAVA_HOME=/usr/java/path
PATH=$JAVA_HOME/bin:$PATH

java ...

关于java - 更改 python 脚本中的 $JAVA_HOME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26168493/

相关文章:

python - 如何使用 Django 功能而不是所有键来索引刚刚选择的 json 键?

java - 如何避免 string.intern() 争用并保持低内存占用?

java - 如何在窗口内移动 3 个按钮

java - Java接口(interface)如何抽象?

python - 在 PYTHON 中求解矩阵耦合微分方程时如何绘制特征值?

python - 导致 VerifiedHTTPSConnection 对象的 GET 请求没有属性 '_tunnel_host'

java - JNDI、名称服务和本地文件系统

java - 是否有一种惯用的方法来断言流只有一个元素,同时产生该元素?

python - 如何根据日期创建单独的跟踪列?

python - 有关解析价格和美元符号的问题