Ich habe Probleme, Scala mit Maven oder Eclipse zu kompilieren, wo ich versuche, eine Klasse aus einem Java-Jar zu importieren, der sowohl einen Namespace als auch eine Klasse mit demselben Namen enthält.
Ich kann jedoch mit scalac
kompilieren.
z. Das Java-Projekt (jar) enthält:
%Vor%Der Compiler beschwert sich mit:
%Vor% Verwenden von Maven 3.0.03 / Eclipse 3.7.1 mit Scala 2.9.0.1 (und maven-scala-plugin
).
Das Jar, mit dem ich Probleme habe, ist jenkins-core-1.399.jar
- es enthält definitiv mehrere Instanzen, wo es einen Namespace und ein Objekt mit demselben Namen gibt.
Ich versuche, ein Jenkins-Plugin in Scala zu schreiben (ich könnte dies in Java tun, würde aber scala bevorzugen, da alle unsere Bibliotheken in scala sind), was von der Verwendung von Maven abhängig ist -
Ссылка .
Diese Art von Einschränkung wurde in beschrieben. SI-4695: Das Paketobjekt verhält sich in Gegenwart von Klassendateien falsch .
Wie in SI-2089 (Namensbeschränkung macht einige Jars unbrauchbar) vorgeschlagen, können Sie es versuchen und Verwenden Sie " resolve-term-conflict
", wie in changeset 25145 implementiert:
%Vor%Eine Option
-Y
hinzugefügt, um Namespace-Kollisionen zwischen Paket und Objekt aufzulösen.
Es ist ein stumpfes Instrument: Wenn die Menschen viele dieser Konflikte haben, die sie individuell nuanciert lösen müssen, werden sie wahrscheinlich kein Glück haben.