2015-08-20 2 views
1

все!Building Play Framework 2.4 приложение с Gradle 2.6 FAILED

Основная проблема заключается в том, что я не в состоянии построить свою Play Framework 2.4.0 приложение с Gradle 2.6.

Следующий моя build.gradle файл (ничего особенного, все здесь из официальных документов об использовании Gradle с игровой рамкой https://docs.gradle.org/current/userguide/play_plugin.html):

plugins { 
    id 'play' 
} 

repositories { 
    jcenter() 
    maven { 
     name "typesafe-maven-release" 
     url "https://repo.typesafe.com/typesafe/maven-releases" 
    } 
    ivy { 
     name "typesafe-ivy-release" 
     url "https://repo.typesafe.com/typesafe/ivy-releases" 
     layout "ivy" 
    } 
    mavenCentral() 
} 

model { 
    components { 
     play { 
      platform play: '2.4.0' 
     } 
    } 
} 

Я использовал playBinary, runPlayBinary и составные задачи поочередно (например, compilePlayBinaryRoutes, compilePlayBinaryTwirlTemplates и compilePlayBinaryScala), однако результат, по существу, то же самое каждый раз:

~/projects/QuickBlox-ChatStatsUIApp/ChatStatsUI$ gradle playBinary 
:compilePlayBinaryRoutes UP-TO-DATE 
:compilePlayBinaryTwirlTemplates UP-TO-DATE 
:compilePlayBinaryScala 
/home/qb-user/projects/QuickBlox-ChatStatsUIApp/ChatStatsUI/build/playBinary/src/compilePlayBinaryRoutes/router/Routes.scala:56: value index is not a member of object controllers.Application 
    controllers.Application.index(), 
          ^
/home/qb-user/projects/QuickBlox-ChatStatsUIApp/ChatStatsUI/build/playBinary/src/compilePlayBinaryRoutes/router/Routes.scala:73: value updateSettings is not a member of object controllers.Application 
    controllers.Application.updateSettings(), 
          ^
/home/qb-user/projects/QuickBlox-ChatStatsUIApp/ChatStatsUI/build/playBinary/src/compilePlayBinaryRoutes/router/Routes.scala:107: value getResource is not a member of object controllers.Application 
    controllers.Application.getResource(fakeValue[String]), 
          ^
/home/qb-user/projects/QuickBlox-ChatStatsUIApp/ChatStatsUI/build/playBinary/src/compilePlayBinaryTwirlTemplates/views/html/index.template.scala:75: value get is not a member of List[String] 
         """),format.raw/*57.25*/("""<tr class=""""),_display_(/*57.37*/abbreviations/*57.50*/.get(i)),format.raw/*57.57*/("""_"""),_display_(/*57.59*/i),format.raw/*57.60*/("""" title=""""),_display_(/*57.70*/keysToParse/*57.81*/.get(i + 1)),format.raw/*57.92*/(""""><td>"""),_display_(/*57.99*/abbreviations/*57.112*/.get(i)),format.raw/*57.119*/(""" """),format.raw/*57.120*/("""sum : </td><td>"""),_display_(/*57.136*/aggrResults/*57.147*/.get(i)),format.raw/*57.154*/("""</td></tr> 
                              ^
/home/qb-user/projects/QuickBlox-ChatStatsUIApp/ChatStatsUI/build/playBinary/src/compilePlayBinaryTwirlTemplates/views/html/index.template.scala:75: value get is not a member of List[String] 
         """),format.raw/*57.25*/("""<tr class=""""),_display_(/*57.37*/abbreviations/*57.50*/.get(i)),format.raw/*57.57*/("""_"""),_display_(/*57.59*/i),format.raw/*57.60*/("""" title=""""),_display_(/*57.70*/keysToParse/*57.81*/.get(i + 1)),format.raw/*57.92*/(""""><td>"""),_display_(/*57.99*/abbreviations/*57.112*/.get(i)),format.raw/*57.119*/(""" """),format.raw/*57.120*/("""sum : </td><td>"""),_display_(/*57.136*/aggrResults/*57.147*/.get(i)),format.raw/*57.154*/("""</td></tr> 
                                                                ^
/home/qb-user/projects/QuickBlox-ChatStatsUIApp/ChatStatsUI/build/playBinary/src/compilePlayBinaryTwirlTemplates/views/html/index.template.scala:75: value get is not a member of List[String] 
         """),format.raw/*57.25*/("""<tr class=""""),_display_(/*57.37*/abbreviations/*57.50*/.get(i)),format.raw/*57.57*/("""_"""),_display_(/*57.59*/i),format.raw/*57.60*/("""" title=""""),_display_(/*57.70*/keysToParse/*57.81*/.get(i + 1)),format.raw/*57.92*/(""""><td>"""),_display_(/*57.99*/abbreviations/*57.112*/.get(i)),format.raw/*57.119*/(""" """),format.raw/*57.120*/("""sum : </td><td>"""),_display_(/*57.136*/aggrResults/*57.147*/.get(i)),format.raw/*57.154*/("""</td></tr> 
                                                                                      ^
/home/qb-user/projects/QuickBlox-ChatStatsUIApp/ChatStatsUI/build/playBinary/src/compilePlayBinaryTwirlTemplates/views/html/index.template.scala:75: value get is not a member of List[Long] 
         """),format.raw/*57.25*/("""<tr class=""""),_display_(/*57.37*/abbreviations/*57.50*/.get(i)),format.raw/*57.57*/("""_"""),_display_(/*57.59*/i),format.raw/*57.60*/("""" title=""""),_display_(/*57.70*/keysToParse/*57.81*/.get(i + 1)),format.raw/*57.92*/(""""><td>"""),_display_(/*57.99*/abbreviations/*57.112*/.get(i)),format.raw/*57.119*/(""" """),format.raw/*57.120*/("""sum : </td><td>"""),_display_(/*57.136*/aggrResults/*57.147*/.get(i)),format.raw/*57.154*/("""</td></tr> 
                                                                                                                     ^
/home/qb-user/projects/QuickBlox-ChatStatsUIApp/ChatStatsUI/build/playBinary/src/compilePlayBinaryTwirlTemplates/views/html/index.template.scala:158: value get is not a member of List[String] 
         document.getElementById('timeLength').value = '"""),_display_(/*140.73*/timeLengths/*140.84*/.get(1)),format.raw/*140.91*/("""'""")))}/*140.94*/else/*140.99*/{_display_(Seq[Any](format.raw/*140.100*/(""" 
                                ^
/home/qb-user/projects/QuickBlox-ChatStatsUIApp/ChatStatsUI/build/playBinary/src/compilePlayBinaryTwirlTemplates/views/html/index.template.scala:182: value get is not a member of List[String] 
             """),format.raw/*164.41*/("""<span title=""""),_display_(/*164.55*/keysToParse/*164.66*/.get(i + 1)),format.raw/*164.77*/("""" class=""""),_display_(/*164.87*/abbreviations/*164.100*/.get(i)),format.raw/*164.107*/("""_"""),_display_(/*164.109*/i),format.raw/*164.110*/(""""><input type="checkbox" id=""""),_display_(/*164.140*/i),format.raw/*164.141*/("""" checked onclick="change(this)">"""),_display_(/*164.175*/abbreviations/*164.188*/.get(i)),format.raw/*164.195*/("""</span> 
                                   ^
/home/qb-user/projects/QuickBlox-ChatStatsUIApp/ChatStatsUI/build/playBinary/src/compilePlayBinaryTwirlTemplates/views/html/index.template.scala:182: value get is not a member of List[String] 
             """),format.raw/*164.41*/("""<span title=""""),_display_(/*164.55*/keysToParse/*164.66*/.get(i + 1)),format.raw/*164.77*/("""" class=""""),_display_(/*164.87*/abbreviations/*164.100*/.get(i)),format.raw/*164.107*/("""_"""),_display_(/*164.109*/i),format.raw/*164.110*/(""""><input type="checkbox" id=""""),_display_(/*164.140*/i),format.raw/*164.141*/("""" checked onclick="change(this)">"""),_display_(/*164.175*/abbreviations/*164.188*/.get(i)),format.raw/*164.195*/("""</span> 
                                                           ^
/home/qb-user/projects/QuickBlox-ChatStatsUIApp/ChatStatsUI/build/playBinary/src/compilePlayBinaryTwirlTemplates/views/html/index.template.scala:182: value get is not a member of List[String] 
             """),format.raw/*164.41*/("""<span title=""""),_display_(/*164.55*/keysToParse/*164.66*/.get(i + 1)),format.raw/*164.77*/("""" class=""""),_display_(/*164.87*/abbreviations/*164.100*/.get(i)),format.raw/*164.107*/("""_"""),_display_(/*164.109*/i),format.raw/*164.110*/(""""><input type="checkbox" id=""""),_display_(/*164.140*/i),format.raw/*164.141*/("""" checked onclick="change(this)">"""),_display_(/*164.175*/abbreviations/*164.188*/.get(i)),format.raw/*164.195*/("""</span> 
                                                                                                                          ^
11 errors found 
:compilePlayBinaryScala FAILED 

FAILURE: Build failed with an exception. 

* What went wrong: 
Execution failed for task ':compilePlayBinaryScala'. 
> Compilation failed 

* Try: 
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 

BUILD FAILED 

Total time: 8.445 secs 

А вот структура сборки каталога , после создания неудачи:

build 
├── playBinary 
│   ├── classes 
│   └── src 
│    ├── compilePlayBinaryRoutes 
│    │   ├── controllers 
│    │   │   ├── javascript 
│    │   │   │   └── JavaScriptReverseRoutes.scala 
│    │   │   ├── ReverseRoutes.scala 
│    │   │   └── routes.java 
│    │   └── router 
│    │    ├── RoutesPrefix.scala 
│    │    └── Routes.scala 
│    └── compilePlayBinaryTwirlTemplates 
│     └── views 
│      └── html 
│       └── index.template.scala 
└── tmp 
    └── compilePlayBinaryScala 

Я думаю, что это могло бы иметь что-то что Gradle 2.6 на данный момент не поддерживает обратную маршрутизацию. Я попытался создать новое приложение Play (2.4.2 на этот раз) и построил его сразу, однако он также не на одной и той же части:

controllers.Application.index(), 
             ^
+0

Если вы перенестись с 2.3 - вам нужно переместить все файлы с 'conf' на' main/scala/resources'. Следуйте руководству по миграции и проверьте документацию 2.4. –

ответ

0

Итак, давайте идти один на один:

  1. Все ошибки после первых трех были моими ошибками, но я как-то предположил, что они были вызваны первым 3. Все они были в основном результатом неправильного рассмотрения структур данных в scala (мой плохой, я noob там).
  2. Первые 3, однако, были вызваны тем фактом, что у меня были нестатические методы в моем основном контроллере. Так или иначе, я, должно быть, упустил из виду тот факт, что вам нужно префиксные ваши нестатические методы, вызовы в маршрутах файл с знаком «@». Таким образом, решение должно либо разместить префикс в файле , либо сделать методы статическими.

Единственная ссылка на это (статическое/нестатическое поведение), которое я нашел, здесь мало упоминается (https://www.playframework.com/documentation/2.4.0/JavaRouting#Dependency-Injection [последняя строка этого параграфа]).

Смежные вопросы