我在我的mac中安裝了azure-cli,並且可以成功執行來自cli的所有azure命令。我想從一個Java應用程序做同樣的事情。我見過使用REST端點和azure-sdk-for-java的示例。但我想要的是直接從java執行azure-cli命令。如何從java運行azure-cli命令
我試着從java程序運行'azure登錄',但我得到了以下錯誤。
不能運行程序「蔚藍」:錯誤= 2,沒有這樣的文件或目錄
我在我的mac中安裝了azure-cli,並且可以成功執行來自cli的所有azure命令。我想從一個Java應用程序做同樣的事情。我見過使用REST端點和azure-sdk-for-java的示例。但我想要的是直接從java執行azure-cli命令。如何從java運行azure-cli命令
我試着從java程序運行'azure登錄',但我得到了以下錯誤。
不能運行程序「蔚藍」:錯誤= 2,沒有這樣的文件或目錄
的問題是缺乏PATH變量中。如果您想要享受您在命令行上找到的相同的「查找命令」功能,則需要在Java程序中以某種方式進行設置:從環境中導入PATH變量,將其設置在正在編寫的代碼中,或任何混合物涵蓋您的需求。
給出絕對(完整)路徑是最可靠的方法,但您可能不希望在源代碼中讀取如此長的命令名稱。
'System.getenv(「PATH」)。split(「:」)'是一個好的開始。然後你必須遍歷每個條目並檢查文件是否存在於該文件夾中。 –
@harshithabt根據我的經驗,問題是由命令azure
造成的,無法在PATH
中列出的目錄中搜索。有兩種方法可以解決Java中運行命令的問題,請參閱下文。
設置環境變量PATH
當前殼會話或配置文件~/.profile
(或~/.bashrc
)。
export PATH=<your-node-path>/bin:$PATH
,你只在當前shell會話中運行了蔚藍色命令的Java程序,甚至通過Java IDE必須在當前shell會話(打開運行它意味着你應該通過命令<your-ide-path>/eclipse
打開Eclipse)。~/.profile
或~/bashrc
添加如下節點運行時,請確保配置文件已在本屆會議上通過命令source ~/.profile
重新加載或重新啓動通過註銷&登錄或重新啓動會話。一個簡單的方法是,將所述命令鏈接到PATH
列出的顯示目錄,如/bin
。你只需要運行下面的命令。
須藤LN -s /斌/節點/斌/節點 須藤LN -s /箱/天藍色/斌/蔚藍
然後你就可以成功地從Java運行Azure的CLI命令。
我不得不提供完整的azure路徑。例如,Runtime.getRunTime.exec('/ usr/local/bin/azure account show')工作。 –