Ich benutze JRebel mit Scala und ich bin ziemlich häufig erlebt die Notwendigkeit für den Neustart des Servers aufgrund der Tatsache, dass JRebel ist nicht in der Lage, eine Klasse zu laden, wenn die Oberklasse geändert wurde. Dies geschieht hauptsächlich, wenn ich anonyme Funktionen ändere, wie ich aus der JRebel- Fehlerbeschreibung ableiten kann: Class 'mypackage.NewBook$$anonfun$2' superclass was changed from 'scala.runtime.AbstractFunction1' to 'scala.runtime.AbstractFunction2' and could not be reloaded
.
Gibt es eine Möglichkeit, wie kann ich meinen Code entwerfen, um dies zu vermeiden? Nimmt Scala-Compiler die Funktionen, nummeriert sie aus einem, wie sie im Quellcode erscheinen?scala jrebel superclass ändern
1
A
Antwort
2
Die Zahlen, die sich ändern, beziehen sich auf die Anzahl der Funktionsargumente. Eine AbstractFunction1
ist eine Ein-Argument-Funktion, während AbstractFunction2
eine Zwei-Argument-Funktion ist. Eine Möglichkeit, dies zu umgehen, besteht darin, Ihre Funktionen zu curren oder zu tupeln, so dass sie immer Funktionen mit einem Argument darstellen.
Und, ja, anonyme Funktionen werden automatisch wie Sie vorgeschlagen benannt. Wenn Sie eine neue anonyme Zwei-Arg-Funktion vor einer vorhandenen anonymen Ein-Arg-Funktion einfügen, wird es aussehen, als ob sich der Typ der ursprünglichen Funktion geändert hat.
Verwandte Themen
- 1. Bereitstellen mit JRebel von IntellijIDEA
- 2. Maven Web Projekt + Tomcat + jRebel
- 3. JRebel vs IntelliJ - Hot Swap
- 4. Scala: Ändern eines NodeSeq
- 5. Konflikt mit Superclass Eigenschaftsname und Protokollmethodenname
- 6. Link superclass init-Methode zum designierten Initialisierer
- 7. Wie bekomme ich Wert von superclass Attribut?
- 8. Scala Quellverzeichnis in SBT ändern
- 9. Alternative von JRebel für Hotswap oder HotDeployment in Eclipse
- 10. Ist es möglich, docker mit jrebel oder dcevm
- 11. Scala ändern mapValues Satz von Strings Spalte
- 12. Ändern von XML-Namespace mit Scala
- 13. Ändern der Standardkapazität/Ladefaktor von scala mutable.HashMap
- 14. Construct superclass Provider von der Unterklasse des Providers
- 15. Groovy Generics Probleme mit <T erweitert Superclass>
- 16. Wird der Superclass-Konstruktor in PHP in einem Kindkonstruktor ausgeführt?
- 17. Warum versteckt eine Unterklasse @property ohne entsprechende ivor superclass ivars?
- 18. Warum verwenden "dieses" Schlüsselwort, um superclass Methoden zu erhalten
- 19. Die beste Art, Listenart in scala zu ändern
- 20. Scala Möglichkeit, dies in eine Liste zu ändern?
- 21. Scala-Fehler: "Neuzuweisung an val" beim Versuch, Inhalt zu ändern?
- 22. Scala String-Interpolation mit Format, wie Gebietsschema zu ändern?
- 23. Ändern des Status bei Verwendung von Scala Concurrency
- 24. mehr Listen innerhalb einer Funktion ändern und es in Scala
- 25. Scala SBT: Auslösen einer Aktion, wenn sich lokale Abhängigkeiten ändern
- 26. Scala AST in Scala
- 27. Vermeidung Scala Speicherlecks - Scala Bauer
- 28. Jrebel mit GWT: keine Änderungen auf der Client-Seite in Superdevmode
- 29. Scala Reflexion
- 30. intellij - Welches Scala-Projekt erstelle ich, Scala-Scala oder Scala-SBT?