【问题标题】:System.getenv doesn't pick any system variable on Amazon LinuxSystem.getenv 不会在 Amazon Linux 上选择任何系统变量
【发布时间】:2017-01-20 13:36:39
【问题描述】:

我在 Amazon EC2 中有实例主机。我已经在/etc/profile 中设置了环境变量并导出了它们。我也把它们放在/etc/environment 上。 JAVA_HOME 也包含在这两个文件中。

我使用 Wildfly 8.2 版本运行我的 Web 服务。 Wildfly 作为服务安装。不幸的是,当我调用它时,我的任何环境变量都没有选择;至少System.getenv("JAVA_HOME") 也不工作。它返回null;为什么会这样?有什么解决办法?

【问题讨论】:

  • 您需要将系统变量添加到启动时添加的配置文件中。在启动 Wildfly 之前,请尝试在命令行上查看您的系统属性。
  • 我该怎么做?
  • 您是否有对该实例的 shell 访问权限?如果是这样运行echo $JAVA_HOME,如果它是空白的,你还没有设置JAVA_HOME。

标签: java linux amazon-ec2 environment-variables


【解决方案1】:

假设您已经使用类似这样的文件通过 systemd 安装了“Wildfly”服务

[Unit]
Description=WildFly application server
After=network.target

[Service]
Type=simple
User=wildfly
Group=wildfly
ExecStart=/opt/wildfly/bin/standalone.sh

[Install]
WantedBy=multi-user.target

要设置环境变量,像这样将它们添加到“[Service]”部分

Environment=JAVA_HOME=/usr/local/myjava/1.8.0-102

【讨论】:

    猜你喜欢
    • 2014-12-06
    • 2011-01-18
    • 2020-05-25
    • 2018-10-26
    • 2014-05-08
    • 2015-11-08
    • 2016-04-21
    • 2014-04-03
    • 2018-04-23
    相关资源
    最近更新 更多