Ich baue eine Software-Plattform und als Beweis für das Konzept (und um festzustellen, was es ist erfordert), baue ich einen Instant-Messenger namens Telegram RP, der meine hier aufgeführten Plattform-Repos verwendet: Ссылка
Nun habe ich die Entscheidung getroffen, den JVM-spezifischen Code vom generischen Code zu trennen, aber bei meinem ersten Schritt wird er nicht kompiliert.
Ich bin ratlos. Ich habe Sichtbarkeiten auf Sprachniveau dreifach geprüft, Git- und IDEA-Module entfernt und neu hinzugefügt, die Abhängigkeitshierarchien dreifach überprüft, sichergestellt, dass parallele Builds deaktiviert sind ... und dennoch behauptet , dass es eine ungelöste Referenz gibt zur Erstellungszeit , trotz des Editors, der mich mittig / control-klickt, um zum Import zu navigieren.
Kann jemand mir helfen, zu verstehen, wie man das verstehen lässt, dass das Paket, über das es sich beschwert, tatsächlich da ist, wenn ich Build Build andor starte?
Hier ist ein SSCCE meines Setups , der sich gut kompilieren sollte, sobald alle Repos geklont sind: Ссылка
Hier ist das Repo, das das fragliche Projekt enthält: Ссылка (permalink zu Repo, wenn ich diese Frage gestellt )
Insbesondere dieses Unter-Repo: Ссылка
Hier ist die Zeile, die fehlschlägt: Ссылка
%Vor%Dies geschah nicht, bevor ich den Desktop-JVM-spezifischen Code von Husky UI / Core verschoben habe , zu Husky UI / JVM , also muss ich davon ausgehen, dass es dazu gehört ... Ich kann es einfach nicht finde heraus warum.
Meine Umgebung:
IntelliJ IDEA 2017.2
Build # IC-172.3317.76, gebaut am 15. Juli 2017
JRE: 1.8.0_152-release-915-b5 amd64
JVM: OpenJDK 64-Bit Server VM von JetBrains s.r.o
Windows 10 10.0
Nach dem Refactoring dreht sich alles um Änderungen des Modulnamens, sodass die Abhängigkeiten nicht gefunden werden können.
1.
In Telegram-RP/lib/Husky-UI/JVM/Husky UI JVM/JVM.iml
ändert sich
bis
%Vor% 2.
In Telegram-RP/Desktop JVM/Desktop JVM.iml
ändert
%Vor%bis
%Vor% Tatsächlich können Sie Modulnamen aus der Project
-Ansicht in Fettschrift sehen:
Habe es nach einiger Zeit erfunden. Ich werde die git diff
-Ausgabe veröffentlichen, damit Sie sie direkt auf Ihre Dateien anwenden können.
Zuerst müssen Änderungen im Submodul lib/Husky-UI/JVM/Husky UI JVM/JVM.iml
vorgenommen werden (denken Sie daran: Sie sollten das richtige Repository bearbeiten und das git Submodul dieses Projekts aktualisieren):
Dann geh nach Core/Core.iml
und entferne diese 2 Zeilen:
Ändern Sie abschließend Desktop JVM/Desktop JVM.iml
:
Sag mir, wie es für dich gelaufen ist.
Ich bin mir nicht sicher, ob es so ist, weil ich Probleme habe, Ihr Projekt zu öffnen.
In Ihrem .idea/modules.xml
haben Sie zwei Husky UI Module importiert - eines von einem fest codierten Ort auf U: / außerhalb des $ PROJECT_DIR $ - Können Sie dies löschen und sehen, ob es Ihr Problem behebt - Sie sollten es ändern in ein $ PROJECT_DIR $ Verweis eins unabhängig davon, so dass es auf anderen Maschinen funktioniert.
Also lösche diese Zeile:
<module fileurl="file://U:\Libraries\Programs\Git\Telegram-RP\lib\Husky-UI\JVM\Husky UI.iml" filepath="U:\Libraries\Programs\Git\Telegram-RP\lib\Husky-UI\JVM\Husky UI.iml" group="Libraries" />
Sie sind also nur mit:
<module fileurl="file://$PROJECT_DIR$/lib/Husky-UI/Core/JVM/Husky UI.iml" filepath="$PROJECT_DIR$/lib/Husky-UI/Core/JVM/Husky UI.iml" group="Libraries/UI" />
Tags und Links build intellij-idea compiler-errors kotlin