我正在配置我们的CI基础架构,当项目加载失败时,sbt会询问该怎么做:
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
这会挂起等待进程返回的构建。
有没有办法告诉sbt停止而不询问加载失败时该怎么做?
答案 0 :(得分:7)
使用-batch
选项调用SBT。它仍然会打印提示但实际上并没有等待回复,而是以非0状态退出。
答案 1 :(得分:1)
IMHO修补sbt启动器,因此columns: [
{ 'data': 'ReportRank', 'width': '10%' },
{ 'data': 'CategoryName', 'width': '25%' },
{ 'data': 'ReportName','width':'50%' },
{ 'data': 'PercentageChange', 'width': '15%' }
]
可执行文件只有在必须执行一次时才可接受,即在单个CI框或devenv上。
作为一种技巧,你可以在sbt命令上关闭stdin:
chomp($password = <STDIN>);
$server = "NAME_OF_MY_DC_SERVER";
$ldap = Net::LDAP->new($server);
$ldap or die "$@\n";
$ldap->bind('USERNAME', password => $password);
并且这样做不会启用交互模式,导致它在出错时退出。
有关类似问题,请参阅here。
答案 2 :(得分:0)
通过JVM参数
禁用基础JLine终端类型-Djline.terminal=off
并且SBT将无法提示您,只需退出。