webentwicklung-frage-antwort-db.com.de

Maven Jetty meldet "von mehreren Standorten gescannt"

Ich habe eine ähnliche Frage hier gefunden, aber sie zeigt auf ein Plugin, das ich nicht verwende (maven-failsafe-plugin), und die Konfiguration, auf die sich die Lösung bezieht, ist für mich nicht anwendbar.

Das Problem ist, dass ich seitdem mein Steg-Plugin aktualisiert habe 

<groupId>org.Eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.9.v20160517</version>

zu <version>9.4.11.v20180605</version> begann es hunderte von Warnungen zu spammen, wie 

[WARNING] org.Apache.axis2.description.Java2wsdl.bytecode.ClassReader scanned from multiple locations: jar:file:///C:/Users/a0763323/.m2/repository/org/Apache/axis2/axis2-kernel/1.4.1/axis2-kernel-1.4.1.jar!/org/Apache/axis2/description/Java2wsdl/bytecode/ClassReader.class, jar:file:///C:/Users/a0763323/.m2/repository/it/aon/WSInfocar/1.2/WSInfocar-1.2.jar!/org/Apache/axis2/description/Java2wsdl/bytecode/ClassReader.class
[WARNING] org.Apache.axis2.description.Java2wsdl.bytecode.MethodTable scanned from multiple locations: jar:file:///C:/Users/a0763323/.m2/repository/org/Apache/axis2/axis2-kernel/1.4.1/axis2-kernel-1.4.1.jar!/org/Apache/axis2/description/Java2wsdl/bytecode/MethodTable.class, jar:file:///C:/Users/a0763323/.m2/repository/it/aon/WSInfocar/1.2/WSInfocar-1.2.jar!/org/Apache/axis2/description/Java2wsdl/bytecode/MethodTable.class
[WARNING] org.Apache.axis2.description.Java2wsdl.bytecode.ParamNameExtractor scanned from multiple locations: jar:file:///C:/Users/a0763323/.m2/repository/org/Apache/axis2/axis2-kernel/1.4.1/axis2-kernel-1.4.1

Ich habe überall gesucht, aber ich kann auch nicht verstehen, was das bedeutet oder wie ich das lösen kann.

Ich benutze IntelliJ und ein Maven-Compiler-Plugin

<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>

Vielen Dank

3
Leviand

Lasst es uns brechen ...

[WARNUNG] org.Apache.axis2.description.Java2wsdl.bytecode.ClassReader wurde von mehreren Standorten aus gescannt: 

  • jar: file: /// C: /Users/a0763323/.m2/repository/org/Apache/axis2/axis2-kernel/1.4.1/axis2-kernel-1.4.1.jar!/org/Apache/axis2/description/Java2wsdl/bytecode/ClassReader.class, 
  • jar: file: /// C: /Users/a0763323/.m2/repository/it/aon/WSInfocar/1.2/WSInfocar-1.2.jar! /org/Apache/axis2/description/Java2wsdl/bytecode/ClassReader.class

Sie haben die Klasse org.Apache.axis2.description.Java2wsdl.bytecode.ClassReader, die aus 2 verschiedenen JARs stammt (und anscheinend auf zwei verschiedenen Versionen!).

Ausgehend von Ihren Dateisystempfaden haben Sie wahrscheinlich die folgenden Abhängigkeiten von Maven ...

<dependency>
  <groupId>org.Apache.axis2</groupId>
  <artifactId>axis2-kernel</artifactId>
  <version>1.4.1</version>
</dependency>

<dependency>
  <groupId>it.aon.WSInfocar</groupId>
  <artifactId>WSInfocar</artifactId>
  <version>1.2</version>
</dependency>

Im Extremfall ist es unklug, zwei verschiedene Versionen derselben Klasse in Ihrem Classpath/Classloader zu haben (es ist sehr einfach, eine Version zu verwenden und dann an eine andere Klasse der anderen Version zu übergeben, die sie nicht versteht oder verwenden kann.) es)

Sie müssen manuell auflösen, welche Sie verwenden sollten. Möglicherweise möchten Sie die Entwickler der WSInfocar fragen, warum sie die Achse in ihrem eigenen Artefakt bündeln.

2
Joakim Erdfelt

Ich fand diese Frage und Antwort sehr hilfreich. Ich hatte einen Konflikt mit dem JDT Core und dem Java Eclipse-Compiler. Ich ging zu Eigenschaften und klickte auf Java-Compiler, der jeweils eine Sache ändert und testet. Die Umstellung von JRE 1.8 auf JRE 11 zur Laufzeit löste es für mich irgendwo in all den Dingen, die ich getestet habe.

Ich habe Folgendes überprüft: Projektspezifische Einstellung aktivieren Standard-Compliance-Einstellungen verwenden (1.8)

Daraufhin wird ein Hinweis angezeigt: Bei Auswahl von 1.8 muss eine kompatible JRE installiert und aktiviert sein (derzeit 11). Konfigurieren Sie die installierte JRE oder die Ausführungsumgebung oder ändern Sie den Erstellungspfad.

Ändern Sie erneut jeweils eine Sache und testen Sie dann. Ich ging speziell mit einer 1.8 JRE, weil ich lese, dass Java 11 keine JRE liefert. Mir ist das Thema immer noch nicht klar.