在命令行中将环境变量传递给java类

在命令行中将环境变量传递给java类,java,Java,我需要从本地etc/myconfig config/文件夹中的文件中读取一些属性。我需要在命令行中给出这个文件路径。我已经给了它,如下所述。但是有一个错误,它显示为 Error: Could not find or load main class test-tool.jar. 发出的命令是 java -cp -DconfigDir=/etc/myconfig-config/ test-tool.jar service.ScriptGenerator $clinic_count $clie

我需要从本地
etc/myconfig config/
文件夹中的文件中读取一些属性。我需要在命令行中给出这个文件路径。我已经给了它,如下所述。但是有一个错误,它显示为

Error: Could not find or load main class test-tool.jar. 
发出的命令是

java  -cp -DconfigDir=/etc/myconfig-config/ test-tool.jar 
service.ScriptGenerator $clinic_count $client_files_count 
谁能帮我解决这个问题


谢谢

尝试发出以下命令

java -DconfigDir=/etc/myconfig-config/ -cp test-tool.jar service.ScriptGenerator $clinic_count $client_files_count 

你的命令应该是

java  -cp test-tool.jar -DconfigDir=/etc/myconfig-config/ service.ScriptGenerator $clinic_count $client_files_count 
试试这个命令

导出VARNAME='variable-value'


然后从同一命令行运行Java主类。

它可以正常工作,但当我放置System.getenv(“configDir”)时,它会输出null。你能给我一个解决办法吗。。。。thanksHi,使用System.getProperty(“configDir”)代替getenv()方法。非常感谢它能工作。。。。我问这个问题,如果这不是对美国的干扰。当我通过IDE运行它时,System.getenv(“configDir”)工作正常。但当我使用上面的命令通过终端运行它时,System.getProperty(“configDir”)工作正常。。我想不出这是为什么……欢迎你,迪兰,我没有得到不起作用的东西。你能解释一下吗?如果我知道答案,我会尽力帮忙的。谢谢