2016-05-25 17 views
0

Ich habe eine Anwendung von Jipster (v2.20.0) im Produktionsmodus implementiert. In einem AngularJS Code i setzen:Jhipster v2.20.0: Statisches Bild kann nicht in den Produktionsmodus geladen werden

img.src = assets/.../mypicture.png. 

Lokale dieses Bild il korrekt geladen, aber im Produktionsmodus habe ich den Fehler:

[ERROR] org.springframework.boot.context.web.ErrorPageFilter - Cannot forward to error page for request [/assets/images/elements/teethschame/47.png] 

as the response has already been committed. As a result, the response may have the wrong status code. 

If your application is running on WebSphere Application Server you may be able to resolve this problem by setting com.ibm.ws.webcontainer.invokeFlushAfterService to false 

Können Sie mir bitte helfen, dieses Problem?

Dank

Antwort

0

In JHipster 2.x, die Grunzen/schluck Build-Prozess minifies und fügt eine Revision Hash-Code, um Ihre Bilder so, dass sie für immer von Browser zwischengespeichert werden können. Wenn Sie ein Bild in assets/images/mypicture.png haben, wird es in dist/assets/images/mypicture-a1b2cde.png verfügbar sein. Dann wird im Prod-Profil StaticResourcesProductionFilter eine Anfrage für ein Asset an /dist übergeben, aber es weiß nichts über den Revisionscode.

In Ihrem Fall muss sich Ihr Code entweder auf den Versionsnamen beziehen, oder Sie sollten Ihre Bilder davon abhalten, revisioniert zu werden, indem Sie sie außerhalb des Ordners assets verschieben.

-2

Vielen Dank für Ihre Antwort, aber das Problem war, dass ich ein Verzeichnis namens: static, public oder resource im Resources-Verzeichnis erstellen musste, und mein Image-Verzeichnis darin einfügen, um sie im Spring Boot zu bedienen. Dies wurde im Frühjahr Website angegeben: https://spring.io/blog/2013/12/19/serving-static-web-content-with-spring-boot

+0

Verwenden von Ressourcen ist nur eine Möglichkeit, meins funktioniert auch. –