【问题标题】:How to set Environment variable option while running JAR?运行 JAR 时如何设置环境变量选项?
【发布时间】:2019-10-02 20:32:50
【问题描述】:

我有一个接受环境变量选项的JAR。当我通过设置运行配置手动运行主类时,我提供环境变量为:KERBOROS_KEYTAB_LOC="location of the keytab file"

现在我需要在运行JAR 时设置这些选项。我该如何设置?我尝试了以下选项,但它不起作用。

java -DKERBOROS_KEYTAB_LOC="location of the keytab file" -jar jarfile.jar

【问题讨论】:

  • 仅供参考,-D 设置 Java 系统属性,而不是环境变量。这些是不同且独立的机制,可用于大致相似的目的。

标签: java command-line jar


【解决方案1】:

取决于您希望作为环境变量的一部分传递的值。

如果它只是 key=valuepair 而 value 不是 location path,那么您只需使用 -Doption ,就像您如何使用 VM Args 并运行一样。

我必须在环境变量中传递 EPAAS_ENV=e1 并在 cmd 下使用

Java -DEPAAS_ENV=e1 -D<VM ARGS1> -D<VM ARGS2> -D<VM ARGS3> -jar <jarFile.jar>

【讨论】:

    【解决方案2】:

    通常,您可以在运行 jar 文件时传递如下环境变量。

    示例:

    java -Djava.security.auth.login.config="/path/kafkalogin.config" -jar myApplication.jar

    【讨论】:

    【解决方案3】:

    在linux上,执行

    $ export KERBOROS_KEYTAB_LOC="location of the keytab file"
    

    在窗户上

    C:\>SomeDir>set KERBOROS_KEYTAB_LOC="location of the keytab file"
    

    然后像往常一样运行jar

    【讨论】:

      猜你喜欢
      • 2020-04-06
      • 2020-01-12
      • 1970-01-01
      • 2023-04-04
      • 2020-01-05
      • 2022-08-15
      • 2011-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多