Fehler beim Kompilieren von Java / Scala gemischtes Projekt und Lombok

8

Ich versuche, ein Maven Java / Scala gemischtes Projekt zu kompilieren, das eine Scala-Klasse hat, die von einer Java-Bean mit Lombok-Annotationen abhängt. Ich habe versucht, die lombok jar-Datei dem Boot-Klassenpfad des Scala-Compilers sowie des Lombok-Agenten hinzuzufügen, aber der Compiler konnte die generierten Getter weiterhin nicht finden. Gibt es eine Möglichkeit für den Scala-Compiler, die Lombok-Annotationen zu erkennen? Wenn nicht, was wäre ein guter Workaround?

Bitte beachten Sie, dass ich versuche, ein anderes Maven-Projekt zu vermeiden, nur um diese Bean zuerst zu kompilieren, da die Bohne logisch zum selben Projekt gehört. Außerdem kann ich die Bean in Scala nicht schreiben, da sie später in einem GWT-Projekt verwendet wird.

Danke,

    
Eduardo 23.06.2012, 17:42
quelle

1 Antwort

9

Ich denke, du wirst es nicht vermeiden können. Die normale Scala / Java-Integration funktioniert so:

  1. Scala geht zuerst, da Java nichts über Scala weiß.
    1. Scalac Parser Java-Dateien und lernt über sichtbare Elemente.
    2. Scalac liest Scala-Dateien und erzeugt Klassendateien.
  2. Java geht als letztes und liest Java-Dateien sowie die von Scala erzeugten Klassendateien.

Das offensichtliche Problem ist, dass Scala nichts über Lombok-Annotationen weiß, so dass es die von ihm erzeugten Elemente nicht herausfinden kann.

Wenn Sie keine Abhängigkeit von Java zu Scala haben, können Sie einfach die Reihenfolge umkehren: Lassen Sie Java zuerst gehen, und lassen Sie Scala die Ausgabe classfiles von javac auf seinem classpath einschließen.

Sonst nehme ich an, dass Sie es aufteilen müssen.

    
Daniel C. Sobral 23.06.2012, 18:42
quelle

Tags und Links