2016-05-24 2 views
2

Ich habe 2 Maven Projekte A und B.
B hat eine Maven Kompilierzeit Abhängigkeit von A Fettglas.Intellij Multi-Modul-Projekt fügt Modul als Abhängigkeit statt seiner Krug

Während B als Maven-Projekt importiert wird, wird A als Modulabhängigkeit anstelle von Zieljar hinzugefügt.

Gibt es eine Möglichkeit, dies zu deaktivieren?

B pom.xml (Abhängigkeits Teil)

<dependency> <groupId>com.xxx.yyy</groupId> <artifactId>A</artifactId> </dependency>

A der pom.xml (Artefakt Details):

<groupId>com.xxx.yyy</groupId> <artifactId>A</artifactId> <version>trunk-SNAPSHOT</version>

A verpackt Fett Glas geben und B verwendet das Versionsplugin, um die Version von A zu bestimmen.

Problem:

Diese beiden sind Module in IntelliJ Projekt. Unabhängig von der Art, wie ich sie importiere, zeigt die Abhängigkeitenliste von Projekt B das Projekt A als Modulabhängigkeit anstelle des SNAPSHOT (oder einer bestimmten Version) des JAR-Projekts von Projekt A.

Aus diesem Grund, wenn ich versuche, auf Projekt B zu verpacken/installieren, ich ClassNotFound für einige der Hilfsklassen von A.

Compile-Log für Projekt B sehe:

Error:(21, 40) java: cannot find symbol 
symbol: class ImmutableMap 
location: package org.xxx.yyy.zzz 

Error:(22, 40) java: cannot find symbol 
symbol: class ImmutableSet 
location: package org.xxx.yyy.zzz 

Die gleiche Klassendatei kann in A's SNAPSHOT-Jar gesehen werden.

+0

Können Sie bitte auf Ihre Frage näher erläutern? Sie können Ihre pom.xml – drJava

+0

Aktualisierte Frage mit pom.xml Extrakten veröffentlichen. –

+0

Wo? Ihre Frage ändert sich nicht. – drJava

Antwort

0
<dependency> 
<groupId>com.xxx.yyy</groupId> 
<artifactId>A</artifactId> 
<version>trunk-SNAPSHOT<version> 
</dependency> 

können Sie versuchen, so von Version auf die B'pom.xml hinzufügen und dann mvn clean install

+0

Wie vorgeschlagen versucht. Ich habe pom.xml aktualisiert, das Modul entfernt und neu importiert. Nach dem Import wird wieder Projekt A als Modulabhängigkeit angezeigt und "mvn clean install" führte zu einem Fehler (da die Kompilierung Modulcode anstelle der Jar-Datei in Betracht zieht) –

+0

Sie sollten zum Projekt A's pom.xml gehen und das sollten Sie Führen Sie dort "mvn clean install" aus und dann sollten Sie den Pfad pom.xml von Project B aufrufen und dort dasselbe machen. Wenn es den gleichen Fehler gibt, könnten Sie diesen Fehler auch angeben? – drJava

+0

Von der Befehlszeile aus funktioniert es gut, vor und nach der Änderung. Der Fehler ist ClassNotFound über IntelliJ. Dies ist nur für das Projekt B. –

Verwandte Themen