有没有人知道为什么Centos 5.x上的maven找不到用户设置,除非我使用'-s'?
我怀疑环境中的某些东西会妨碍我,但我不确定是什么。
找不到用户设置 - 不使用“-s”
[build@...]$ echo $HOME; mvn clean -X|grep setting
/home/build
[DEBUG] Reading global settings from .../apache-maven-3.0.4/conf/settings.xml
[DEBUG] Reading user settings from ?/.m2/settings.xml
[DEBUG] Imported: org.apache.maven.settings < plexus.core
查找用户设置 - 使用“-s”
[build@...]$ echo $HOME; mvn clean -X -s $HOME/.m2/settings.xml|grep setting
/home/build
[DEBUG] Reading global settings from .../apache-maven-3.0.4/conf/settings.xml
[DEBUG] Reading user settings from /home/build/.m2/settings.xml
[DEBUG] Imported: org.apache.maven.settings < plexus.core
谢谢
彼得
答案 0 :(得分:1)
“su”命令是这个特定问题的核心。 “su”可以作为另一个用户执行命令。如果在没有“ - ”的情况下使用它,它不会处理该用途的启动脚本,在某些情况下会导致混合环境。
编写init.d启动脚本时,请务必在调用命令时使用“su - ”,否则构建系统用户将使用root用户的环境变量执行(包括HOME)
某些操作系统出现问题,因为BAMBOO_USER在root用户环境下运行
su $BAMBOO_USER -c "cd ${BAMBOO_HOME}; nohup java -Dbamboo.home=${BAMBOO_HOME} ... &"
更合适的init.d脚本
su - $BAMBOO_USER -c "cd ${BAMBOO_HOME}; nohup java -Dbamboo.home=${BAMBOO_HOME} ... &"