最近遇到個問題很奇葩
用shell調用java jar包 jar包是個簡單的post請求 通過shell傳入參數
java -Xbootclasspath/p:path -jar youtest.jar 參數1 參數2
Xbootclasspath 是預先加載的claspath路徑
本地手動運行腳本能夠正常發送post請求
但是添加crontab任務 定時運行的時候發現 java代碼無法讀取環境變量 拋異常 始終無法正常運行
vim /etc/profile 查看環境變量 也是有的
沒理由啊 應該能讀取的到環境變量 手動的是可以運行 但是定時的不行很奇怪
最後發現
在定時任務的前面需要加上 source /etc/profile 纔可以 這樣定時任務就正常起來了 定時任務如果涉及到環境變量很重要啊
*/5 * * * * source /etc/profile && /xxx/task.sh 2>&1