Paket enthält Objekt und Paket mit demselben Namen

8

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 -
Ссылка .

    
David 24.01.2012, 09:50
quelle

2 Antworten

5

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:

  

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.

%Vor%     
VonC 25.01.2012, 07:26
quelle
4

Die eigentliche Compiler-Option ist "-Yresolve-term-conflict: Strategie ", wobei Strategie entweder Paket, Objekt, Fehler ist.

    
liangzan 08.01.2014 03:41
quelle

Tags und Links