2014-12-07 3 views
7

Ich habe ein paar Fragen zu diesem Thema gesehen, aber kann nicht scheinen, auf den Boden zu bekommen.Play-Framework-2.3.7: Statische Vermögenswerte Standort nicht in der Produktion

Ich habe eine Play-Framework 2.3.7 (Activator 1.2.12) Website, wenn ich es in dev-Modus laufen alles funktioniert. Als ich es im Produktionsmodus starten bekomme ich folgende Fehler:

[app] $ start 
[info] Wrote C:\Users\App\git\website2.0\target\scala-2.10\app_2.10-1.0- 
SNAPSHOT.pom 
[info] Main Scala API documentation to C:\Users\App\git\website2.0\target\scala- 
2.10\api... 
[info] Compiling 57 Scala sources and 58 Java sources to C:\Users\App\git\websit 
e2.0\target\scala-2.10\classes... 
[error] C:\Users\App\git\website2.0\target\scala-2.10\twirl\main\views\html\admi 
n\shared\foot.template.scala:29: value at is not a member of controllers.Reverse 
Assets 
[error] Seq[Any](forApp.raw/*1.1*/("""<script data-main=""""),_display_(/*1.21*/ 
routes/*1.27*/.Assets.at("javascript/admin.js")),forApp.raw/*1.60*/("""" type="t 
ext/javascript" src=""""),_display_(/*1.91*/routes/*1.97*/.Assets.at("lib/requir 
ejs/require.js")),forApp.raw/*1.135*/(""""></script> 
[error] 
        ^
[error] C:\Users\App\git\website2.0\target\scala-2.10\twirl\main\views\html\admi 
n\shared\head.template.scala:31: value at is not a member of controllers.Reverse 
Assets 
[error] <link rel="stylesheet" media="screen" href=""""),_display_(/*3.46*/route 
s/*3.52*/.Assets.at("stylesheets/admin.css")),forApp.raw/*3.87*/(""""> 
[error] 
       ^
[error] C:\Users\App\git\website2.0\app\views\admin\shared\foot.scala.html:1: va 
lue at is not a member of controllers.ReverseAssets 
[error] <script data-main="@routes.Assets.at("javascript/admin.js")" type="text/ 
javascript" src="@routes.Assets.at("lib/requirejs/require.js")"></script> 
[error]         ^
[error] C:\Users\App\git\website2.0\app\views\admin\shared\head.scala.html:3: va 
lue at is not a member of controllers.ReverseAssets 
[error] <link rel="stylesheet" media="screen" href="@routes.Assets.at("styleshee 
ts/admin.css")"> 
[error]               ^
[error] C:\Users\App\git\website2.0\target\scala-2.10\twirl\main\views\html\home 
.template.scala:38: value at is not a member of controllers.ReverseAssets 
[error]     <div class="item active" style="background-image:url(""" 
),_display_(/*10.71*/routes/*10.77*/.Assets.at("images/bg-app-list.jpg")),fo 
rApp.raw/*10.117*/(""")"> 
[error] 
              ^
[error] C:\Users\App\git\website2.0\app\views\home.scala.html:10: value at is no 
t a member of controllers.ReverseAssets 
[error]     <div class="item active" style="background-image:url(@ro 
utes.Assets.at("images/bg-app-list.jpg"))"> 
[error] 
        ^
[error] C:\Users\App\git\website2.0\target\scala-2.10\twirl\main\views\html\shar 
ed\foot.template.scala:29: value at is not a member of controllers.ReverseAssets 

[error] Seq[Any](forApp.raw/*1.1*/("""<script data-main=""""),_display_(/*1.21*/ 
routes/*1.27*/.Assets.at("javascript/main.js")),forApp.raw/*1.59*/("""" type="te 
xt/javascript" src=""""),_display_(/*1.90*/routes/*1.96*/.Assets.at("lib/require 
js/require.js")),forApp.raw/*1.134*/(""""></script> 
[error] 
       ^
[error] C:\Users\App\git\website2.0\target\scala-2.10\twirl\main\views\html\shar 
ed\head.template.scala:31: value at is not a member of controllers.ReverseAssets 

[error] <link rel="stylesheet" media="screen" href=""""),_display_(/*3.46*/route 
s/*3.52*/.Assets.at("stylesheets/main.css")),forApp.raw/*3.86*/(""""> 
[error] 
       ^
[error] C:\Users\App\git\website2.0\app\views\shared\foot.scala.html:1: value at 
    is not a member of controllers.ReverseAssets 
[error] <script data-main="@routes.Assets.at("javascript/main.js")" type="text/j 
avascript" src="@routes.Assets.at("lib/requirejs/require.js")"></script> 
[error] C:\Users\App\git\website2.0\target\scala-2.10\twirl\main\views\html\shar 
ed\nav.template.scala:39: value at is not a member of controllers.ReverseAssets 
[error]         ^
[error]     <img src=""""),_display_(/*11.28*/routes/*11.34*/.Assets 
.at("images/logo/small_beta.png")),forApp.raw/*11.74*/(""""> 
[error] 
^
[error] C:\Users\App\git\website2.0\app\views\shared\head.scala.html:3: value at 
    is not a member of controllers.ReverseAssets 
[error] <link rel="stylesheet" media="screen" href="@routes.Assets.at("styleshee 
ts/main.css")"> 
[error]               ^
[error] C:\Users\App\git\website2.0\app\views\shared\nav.scala.html:11: value at 
    is not a member of controllers.ReverseAssets 
[error]     <img src="@routes.Assets.at("images/logo/small_beta.png" 
)"> 
[error]             ^
[info] Packaging C:\Users\App\git\website2.0\target\App-1.0-SNAPSHOT-ass 
ets.jar ... 
[info] No documentation generated with unsucessful compiler run 
[error] 6 errors found 
[error] 6 errors found 
[info] Done packaging. 
[error] (compile:doc) Scaladoc generation failed 
[error] (compile:compile) Compilation failed 

Cannot start with errors. 

Die Frage um die requirejs und ihren Asset-Weg zu sein scheint. Der Code für den ersten Fußzeile Fehler ist wie folgt:

<script data-main="@routes.Assets.at("javascript/admin.js")" type="text/javascript"  src="@routes.Assets.at("lib/requirejs/require.js")"></script> 

Meine Routen-Datei für Vermögenswerte ist:

# Map static resources from the /public folder to the /assets URL path 
GET   /assets/javascript/routes.js     controllers.Application.javascriptRoutes() 
GET   /assets/javascript/admin_routes.js   controllers.admin.Application.javascriptRoutes() 
GET   /assets/*file         controllers.Assets.at(path="/public", file) 

Hier ist mein build.sbt

import WebKeys._ 
import RjsKeys._ 
import play.PlayJava 

name := """app""" 

version := "1.0-SNAPSHOT" 

lazy val root = (project in file(".")).enablePlugins(PlayJava, SbtWeb) 

libraryDependencies ++= Seq(
    javaJpa, 
    javaJdbc, 
    cache, 
    "org.hibernate" % "hibernate-core" % "4.2.3.Final", 
    "org.hibernate" % "hibernate-entitymanager" % "4.2.3.Final", 
    "mysql" % "mysql-connector-java" % "5.1.31", 
    "org.webjars" %% "webjars-play" % "2.2.0", 
    "joda-time" % "joda-time-hibernate" % "1.3", 
    "org.mindrot" % "jbcrypt" % "0.3m", 
    "net.sf.flexjson" % "flexjson" % "3.2", 
    "org.apache.commons" % "commons-lang3" % "3.3.2", 
    "com.clever-age" % "play2-elasticsearch" % "1.1.0", 
    // WebJars (i.e. client-side) dependencies 
    "org.webjars" % "requirejs" % "2.1.14-1", 
    "org.webjars" % "jquery" % "1.11.1", 
    "org.webjars" % "bootstrap" % "3.1.1-2" exclude("org.webjars", "jquery"), 
    "com.clever-age" % "play2-elasticsearch" % "0.8.2", 
    "net.sourceforge.htmlunit" % "htmlunit" % "2.15", 
    "commons-io" % "commons-io" % "2.4", 
    "com.github.tototoshi" %% "play-flyway" % "1.1.2" 
) 

pipelineStages := Seq(rjs, digest, gzip) 

RjsKeys.paths += ("jsRoutes" -> ("/jsroutes" -> "empty:")) 

RjsKeys.paths += ("adminJsRoutes" -> ("/adminJsRoutes" -> "empty:")) 

includeFilter in (Assets, LessKeys.less) := "*.less" 

excludeFilter in (Assets, LessKeys.less) := "_*.less" 

Ist jemand in der Lage zu zeigen ich in die richtige Richtung? Prost!

Antwort

3

ich eine Lösung für mein eigenes Problem bekommen haben, nicht sicher, ob dies der richtige Weg, oder nicht, aber auf diese Weise die für mich gearbeitet.

  • pipelineStages: = Seq (rjs, verdaut, gzip) - Removed rjs als nicht in dem neuen Spiel mehr erforderlich
  • die Art und Weise das Spiel Rahmen zu verpacken wurde vor kurzem mit dem playframework Upgrades geändert, haben Sie jetzt verwenden der sbt Packager, um es zu tun. in diesem Fall seines ‚SBT Docker: stage‘
  • die docker.aws.json Datei, um den freiliegenden Anschluss an den aws beanstalk extern Port
  • eine Erlaubnis Linie die Docker Datei zu erlauben, die bohnenstange werden muss abzubilden erforderlich hinzugefügt Deployment-Skript Zugriff auf das Verzeichnis
  • gibt es einen Fehler in der sbt Verpacker, die Fenster in dass die Befehlszeile verknüpft ist das ist eine Zeichenbegrenzung getroffen zu werden. Das ist, warum ich einen lokalen Produktionsmodus mit Aktivator ausführen kann nicht. Dieser Fehler ist noch ausstehend so kippe ich es lokal in proudction Modus
  • die Docker Datei im sbt Paket Prozess erzeugt wird jetzt laufen, so habe ich die Docker Ports an die sbt.build Datei. Ich brauche einen Befehl zu finden, um die sbt.build hinzuzufügen, die die Erlaubnis Zeile in der Docker Datei tun, damit wir das jenkins Skript verwenden können den Prozess

Nur wenige Seiten, die ich, dass mir wirklich geholfen gefunden zu automatisieren:

Hoffnung th bei hilft jemand!

Verwandte Themen