Это обычная тема для начинающих программистов Scala, таких как я ...
val main = PlayProject(appName, appVersion, appDependencies).settings(defaultJavaSettings:_*).settings( resolvers += Resolver.file("private") artifacts "C:/java/repository/[organisation]/[module]/[revision]/[artifact].[ext]" ivys "C:/java/repository/[organisation]/[module]/ivy-[revision].xml" resolvers += Resolver.url("public") artifacts "https://foo.com/ivy-repository/[organisation]/[module]/[revision]/[artifact].[ext]" ivys "https://foo.com/ivy-repository/[organisation]/[module]/ivy-[revision].xml" )
Эти две строки вместе выдают ошибку:
[error] C:\java\play-2.0-beta\base\project\Build.scala:16: ')' expected but '.' found. [error] resolvers += Resolver.url("webster") artifacts "https://dev.blackrock.com/ivy-repository/[organisation]/[module]/[revision]/[artifact].[ext]" ivys "https://dev.blackrock.com/ivy-repository/[organisation]/[module]/ivy-[revision].xml" [error] ^ [error] C:\java\play-2.0-beta\base\project\Build.scala:17: ';' expected but ')' found. [error] ) [error] ^ [error] two errors found
Если удалить одну строку, это работает, не имеет значения, какой.Изменение порядка строк не имеет значения.
Кто-нибудь может направить меня правильно?
Проблема в том, что results += .... является параметром.По сути, вы написали следующее:
results += ....
val main = PlayProject(...).settings(a b)
То, что вы должны были написать, это:
val main = PlayProject(...).settings(a, b) // put in a comma!
Хотя вы также могли бы написать это:
val main = PlayProject(appName, appVersion, appDependencies).settings(defaultJavaSettings:_*).settings( resolvers ++= Seq( Resolver.file("private") artifacts "C:/java/repository/[organisation]/[module]/[revision]/[artifact].[ext]" ivys "C:/java/repository/[organisation]/[module]/ivy-[revision].xml", Resolver.url("public") artifacts "https://foo.com/ivy-repository/[organisation]/[module]/[revision]/[artifact].[ext]" ivys "https://foo.com/ivy-repository/[organisation]/[module]/ivy-[revision].xml" ) )
Цепочка двух обращений к настройкам устранила проблему.
val main = PlayProject(appName, appVersion, appDependencies).settings(defaultJavaSettings:_*).settings( resolvers += Resolver.file("private") artifacts "C:/java/repository/[organisation]/[module]/[revision]/[artifact].[ext]" ivys "C:/java/repository/[organisation]/[module]/ivy-[revision].xml" ).settings( resolvers += Resolver.url("public") artifacts "https://foo.com/ivy-repository/[organisation]/[module]/[revision]/[artifact].[ext]" ivys "https://foo.com/ivy-repository/[organisation]/[module]/ivy-[revision].xml" )
Вы просто пропустили запятую между первым и вторым распознавателями
val main = PlayProject(appName, appVersion, appDependencies).settings(defaultJavaSettings:_*).settings( resolvers += Resolver.file("private") artifacts "C:/java/repository/[organisation]/[module]/[revision]/[artifact].[ext]" ivys "C:/java/repository/[organisation]/[module]/ivy-[revision].xml" , resolvers += Resolver.url("public") artifacts "https://foo.com/ivy-repository/[organisation]/[module]/[revision]/[artifact].[ext]" ivys "https://foo.com/ivy-repository/[organisation]/[module]/ivy-[revision].xml" )
Не забудьте пропустить строки между определителями.