4

有谁知道为什么 Centos 5.x 上的 Maven 找不到用户设置,除非我使用“-s”?

  • 主页设置为/home/build
  • $HOME/.m2/settings.xml 存在,归用户所有,用户可以读取
  • 我正在使用 mvn 3.0.4 的全新下载(3.0.3 也失败)

我怀疑我的环境中有些东西妨碍了我,但我不确定是什么。

找不到用户设置 - 未使用“-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

谢谢

彼得

4

1 回答 1

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} ... &"
于 2012-12-27T23:12:04.680 回答