EJBCA作为CA安装时执行ant runinstall报错目录不存在但实际存在
EJBCA执行ant runinstall构建失败问题排查
根本原因
ant构建工具运行时不会自动继承shell会话中未导出的环境变量,报错信息中的路径直接出现$EJBCA_HOME字符串,说明build.xml读取该变量时没有拿到实际赋值,直接将变量名作为路径的一部分拼接,导致实际查找的是字面量路径/home/ejbca/ejbca_ce_7_4_3_2/$EJBCA_HOME/bin,该路径不存在所以触发报错。
你手动执行cd命令时shell会自动解析当前会话的环境变量,所以可以正常进入目录,和ant的运行环境是相互隔离的。
排查解决步骤
- 执行
export | grep EJBCA_HOME检查当前会话是否已导出该变量,无输出的话执行如下命令设置并导出变量:
export EJBCA_HOME=/home/ejbca/ejbca_ce_7_4_3_2
- 验证变量解析结果,执行
echo $EJBCA_HOME/bin,确认输出为/home/ejbca/ejbca_ce_7_4_3_2/bin,避免出现路径重复嵌套的问题 - 重新执行
ant runinstall即可正常识别路径完成构建
内容的提问来源于stack exchange,提问作者Wendy
相关产品推荐
相关产品推荐

