运行JAR时如何设置环境变量选项?

问题描述 投票:0回答:4

我有一个

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

现在我需要在运行

JAR
时设置这些选项。我该如何设置呢?我尝试了以下选项,但它不起作用。

java -DKERBOROS_KEYTAB_LOC="location of the keytab file" -jar jarfile.jar
java command-line jar
4个回答
11
投票

在Linux上,执行

$ export KERBOROS_KEYTAB_LOC="location of the keytab file"

在窗户上

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

然后像往常一样运行 jar


2
投票

取决于您想作为环境变量的一部分传递什么值。

如果它只是

key=value
对,其中值不是
location path
,那么你只需使用
-D
选项,就像你如何做
VM Args
并运行一样。

我必须在环境变量中传递

EPAAS_ENV=e1
并在cmd下使用

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


0
投票

对于 Windows

  • 将其放入
    .bat
    文件

    @echo off
    setlocal enabledelayedexpansion

    :: Load environment variables from .env file
    for /f "delims=" %%i in (Variables.env) do (
        set "%%i"
    )

    :: Run your jar
    java -jar YourJarFileName.jar

    :: Pause the script when exit occurs and wait for a key press
    echo Press any key to exit...
    pause >nul

    endlocal
  • Variables.env
    更改为定义了环境变量的
    name.env
    文件
  • 最后,改变
    YourJarFileName.har
  • 运行此
    .bat
    文件。

注意: 保留所有这些文件,其中 3 个位于同一目录中。


-2
投票

一般来说,您可以在运行 jar 文件时传递如下所示的环境变量。

示例:

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

© www.soinside.com 2019 - 2024. All rights reserved.