在使用Play Framework(2.10:2:1.1)的项目中,使用Play dist构建分发zip。
在盖子下面,它使用SBT(0.12.2)
它运行得很好,但我注意到它运行的是java1.6,因为它位于构建服务器的路径中。我将其更改为1.7并开始出现此错误。
Error: Could not find or load main class Realm -Dsbt.boot.host='artifactoryhostname' -Dsbt.boot.user='someUser' -Dsbt.boot.password='pw' -jar D:DevMPexternal_softwaresbt .12.2sbt-launch.jar clean
我将环境变量恢复为1.6,但这并没有恢复问题。
我搜索过其他有同样错误的人,认为这对IVY SBT来说一定很常见,但我一无所获。
我对SBT生态系统或IVY一无所知,所有其他构建都是Maven,它们运行得很好。
有人知道线索吗?为什么是"境界"?
看起来这不是Path的问题,而是Java_Home的问题。Team city一直在一个不同的帐户下运行,该帐户对Java_Home有不同的设置。
我重新启动了Team City服务器,以使其了解我故意对Path所做的更改。在这样做的过程中,它为Java_Home选择了不同且不兼容的设置。
恢复路径没有什么区别,因为我总是重新启动Team City Server。
结论:
1) 使用Team City中的"构建参数"选项卡可以检查其在工作和非工作启动时的世界视图。Team City是一个出色的应用程序,它提供了每次构建的所有参数的全局视图。
2) SBT(0.12.2)需要Java_Home=Java 1.6或者至少在我们的定制中需要。
3) 不要忘记重新启动TC Agent以获取最新的环境变量。团队城市似乎断开了连接,但没有重新启动(这很公平)